开发者

zend two forms same page are submitted together

I built two custom Zend_Form classes: form_1 and form_2.I instanciated both of them in the same controller.

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

form_1 and form_2 have respectively submit buttons named 'submit_form_1' the first and 'submit_form_2' the second. (Ex. new Zend_Form_Element_Submit('submit_form_1')..)

So I added to my controller a snippet to check wich form was submitted :

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!";
}

But it seems that clicking on either submit_form_1 or submit_form_2 both of my forms are posted! so that the above snippet output is:

you clicked for form_1!you clicked for form_2!
开发者_如何学Go

what am I missing?

P.s. Both of the form action are left blank so that the form post to same page(I'd prefer to not address these two forms to different actions as you might suggest =))

thanks

Luca


Zend_Controller_Request_Http::isPost() does not take (or use) any arguments.

Both of your conditions are evaluating to true because the request method is POST.

I think you want to use Zend_Controller_Request_Http::getPost() instead, eg

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜