2011-06-02 93 views
2

我构建了两个自定义的Zend_Form类:form_1和form_2.I在同一个控制器中实例化了它们两个。zend两个表单一起提交相同的页面

$form_1=new form_1(); 
$form_2=new form_2(); 

form_1和form_2分别提交名为'submit_form_1'的按钮和第二个名为'submit_form_2'的按钮。 (出新Zend_Form_Element_Submit(“submit_form_1”)..)

所以我加入到我的控制器代码段检查至极形式提交:

if(($this->_request->isPost('submit_form_1'))) 
{ 
echo "you clicked for form_1!"; 
} 

if($this->_request->isPost('submit_form_2')) 
{ 
echo "you clicked for form_2!"; 
} 

但似乎按下其中submit_form_1或submit_form_2两者我的表格已发布!以便上面的片段输出是:

you clicked for form_1!you clicked for form_2! 

我错过了什么?

P.s.这两种形式的行动是空白,这样的形式发布到同一个页面(我宁愿这两种形式不能满足于不同的操作,你可能会认为=))

感谢

卢卡

回答

5

Zend_Controller_Request_Http::isPost()不需要(或使用)任何参数。

由于请求方法是POST,所以您的两个条件都计算为true。

我想你想使用Zend_Controller_Request_Http::getPost()代替,如

if ($this->_request->getPost('submit_form_1', false)) { 
    echo "you clicked for form_1!"; 
} 

if ($this->_request->getPost('submit_form_2', false)) { 
    echo "you clicked for form_2!"; 
} 
+0

非常感谢=) – luca 2011-06-02 11:46:30

相关问题