2

Form要素があります:

$Form=new Zend_Form;
        $Form->setAction($this->view->url(array('controller'=>'auth','action'=>'create'),null,true))
             ->setMethod('post')
             ->setAttrib('id','auth-form')
             ->removeAttrib('enctype');

ご覧のとおり、removeAttribメソッドを使用してデフォルトのenctypeを削除します。しかし、フォームをエコーすると、まだ次のようになります。

<form id="auth-form" enctype="application/x-www-form-urlencoded" action="/auth/resetpassword2" method="post">
4

4 に答える 4

4

これをチェックしてください。の92行目Zend_Form_Decorator_Form

if ($method == Zend_Form::METHOD_POST) {
    $this->setOption('enctype', 'application/x-www-form-urlencoded');
}

したがって、投稿の場合、enctypeは自動的に追加されます。デコレータをオーバーライドして削除することもできますが、enctypeを設定することに何か問題があるかどうかはわかりません。

于 2009-09-14T17:00:58.270 に答える
2
$Form->setAttrib('enctype', null);
于 2012-09-02T10:58:42.987 に答える
1

'enctype'は、Zend_Formの意味での属性ではありません。setEncType()メソッドを参照してください。ただし、HTMLを自分で作成せずに完全に削除できるかどうかはわかりません。

于 2009-09-14T16:53:24.213 に答える
0

enctype="application/x-www-form-urlencoded"いずれにせよファイルのアップロードが機能するためには、デフォルトでオンになっていると思います。enctypeに設定すると''、そのフォームからファイルをアップロードできなくなることに注意してください。

于 2009-09-14T17:00:03.300 に答える