$emailmessage = new Zend_Form_Element_Hidden('emailmessage');
非表示のフィールド値、つまり「emailmessage」は、データベース内の同じフィールド名の値を取得します。ただし、ページをロードすると、要素が非表示になっているため、「emailmessage」の値は表示されません。他のフォーム要素を使用せずに表示する方法はありますか? テキスト、テキストエリアなどを使わずに欲しい。
$emailmessage = new Zend_Form_Element_Hidden('emailmessage');
非表示のフィールド値、つまり「emailmessage」は、データベース内の同じフィールド名の値を取得します。ただし、ページをロードすると、要素が非表示になっているため、「emailmessage」の値は表示されません。他のフォーム要素を使用せずに表示する方法はありますか? テキスト、テキストエリアなどを使わずに欲しい。
要素にformNoteデコレータを設定する必要があります。Hidden 要素を拡張するか、フォームにデコレータを設定することでそれを行います。
形
public function init()
{
// ...
$emailMessage = new Zend_Form_Element_Hidden();
$emailMessage->setDecorators(
array(
array('ViewHelper', array('helper' => 'formNote'))
)
);
$this->addElement($emailMessage, 'emailMessage');
// ...
}
コントローラーでは、それをビューに割り当てる必要があり、ビューでは、必要な場所にエコーできます。
コントローラ
$form = new Your_Form();
$this->view->emailmessage = $emailmessage;
意見
echo $this->escape($this->emailmessage);