我有一個簡單的表格,有一個textarea答一個隱藏字段如何在zend框架中隱藏字段值不被請求顯示?
$textarea = new Zend_Form_Element_Textarea('post');
$textarea->setRequired(true);
$textarea->setLabel('');
$hidden = new Zend_Form_Element_Hidden('post_id');
$hidden->setLabel('');
$hidden->setValue('1');
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('test');
$this->addElement($textarea);
$this->addElement($hidden);
$this->addElement($submit);
$this->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'div', 'class' => 'form_class')),
'Form'
));
在我看來,我做
<?php echo $this->form->getElement('post')->render(); ?>
<?php echo $this->form->getElement('submit')->render(); ?>
然後在我的控制器
$request = $this->getRequest();
if($request->isPost() && $form->isValid($request->getParams()))
{
Zend_Debug::dump($request->getParams());
}
發生的事情是我得到
array(8) {
["module"] => string(6) "testr"
["controller"] => string(8) "posts"
["action"] => string(9) "post"
["post"] => string(10) "testgfdgfg"
["submit"] => string(26) "submit"
}
但沒有post_id
這有點有線,我不能弄明白。我找到了任何可能導致這個問題的代碼,但沒有任何代碼。我也試着呼應在視圖中隱藏字段,但我仍然得到請求
什麼想法沒有?
感謝