Zend_Viewヘルパーに基づいて、以下のような関数を書くことをお勧めします。
formText($name, $value = null, array $attribs = null)
formPassword($name, $value = null, array $attribs = null)
formLabel($id, $text, array $attribs = null)
formHidden($name, $value = null, array $attribs = null)
formSubmit($name = null, $text = null, array $attribs = null)
formSelect($name, $selected, array $attribs = null, array $options = null)
formCheckbox($name, $default, array $attribs = null, array $options = null)
次に、このようなことをもう一度忘れることはありません。
<form method="POST" action="<?php echo $PHP_SELF; ?>
<p>
<?php
echo formLabel('login_email', 'Email'), ':',
formText('login_email');
?>
</p>
<p>
<?php
echo formLabel('login_password', 'Password'), ':',
formPassword('login_password');
?>
</p>
<p>
<?php
echo formCheckbox('login_remember'), ' ',
formLabel('login_remember', 'Remember me');
?>
</p>
<p>
<?php
echo formSubmit(null, 'Login');
?>
</p>
</form>
ヒント:
- idははattribsで定義されていない場合は、idがidはのために=「$ id」属性で使用され、FORMHIDDENは持つべきではないラベルを除いて、名前と同じですデフォルトのIDです。
- formCheckboxは、同じ名前の前にformHiddenを負の値で書き込みます。したがって、チェックボックスもオンになっていない場合は戻り値が返されます。
- formCheckbox optionsは、checkedまたはuncheckedの値を持つ配列です。
- FILTER_VALIDATE_BOOLEANのフィルタを使用して、チェックボックスから戻り値が読み取られているかどうかを確認します。
出典
2009-05-12 21:09:38
OIS
実際、アクション名を残しておくのが有効だと思います。そうすると、ブラウザは現在のページに投稿/取得します。 –
ほとんどのブラウザでこの現象が発生しますが、公式の仕様によれば、アクション属性は必須です(http://www.w3.org/TR/html401/interact/forms.html)。 – BrynJ
清算していただきありがとうございます。仕様がデフォルト動作を定義していないときに、そのようなあいまいさを表現することは悪い考えであると私は同意します。 –