それが私の形です:
class Application_Form_Search extends Zend_Form {
public function init() {
$searchFor = new Zend_Form_Element_Text(array('name' => 'searchFor', 'class' => 'input-text search-box', 'value' => 'Search'));
$searchFor->setAttribs(array('onclick' => 'this.value="";', 'onfocus' => 'this.select()', 'onblur' => 'this.value=!this.value?"Search":this.value;'))
->setDecorators(array('ViewHelper',));
$submit = new Zend_Form_Element_Submit(array('name' => 'search', 'class' => 'input-submit-search search-box', 'label' => ''));
$submit->setDecorators(array('ViewHelper',));
$this->addElements(array($searchFor, $submit));
}
}
それが私の検索アクションです。
public function searchresultAction() {
$form = new Application_Form_Search();
if ($this->getRequest()->isPost()) {
$postdata = $this->getRequest()->getPost();
if ($form->isValid($postdata)) {
$this->_redirect('Search/Results);
}
}.......
問題は、送信ボタンをクリックしても検索/結果にリダイレクトされないことです。postdataには値がありません。私はlayout.phtmlでフォームを呼び出します。