luc*_*uca 2 php zend-framework form-submit
我构建了两个自定义Zend_Form类:form_1和form_2.我在同一个控制器中实现了它们.
$form_1=new form_1();
$form_2=new form_2();
Run Code Online (Sandbox Code Playgroud)
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!";
}
Run Code Online (Sandbox Code Playgroud)
但似乎点击了我的两个表单的submit_form_1或submit_form_2!以便上面的代码段输出为:
you clicked for form_1!you clicked for form_2!
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Ps两个表单操作都留空,以便表单发布到同一页面(我更愿意不将这两个表单解决为不同的操作,如您所暗示的那样=))
谢谢
卢卡
Zend_Controller_Request_Http::isPost() 不接受(或使用)任何参数.
您的两个条件都评估为true,因为请求方法是POST.
我想你想用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!";
}
Run Code Online (Sandbox Code Playgroud)