2011-03-08 56 views

回答

2

我将解释我是如何在Zend Framework中使用jQuery实现Ajax提交的。 你必须建立你的表格,如下所示。

$form->setAttrib('id','div_form'); 
    $form->addElement('submit', 'submit', array(
     'label' => 'Ajax Submit', 
     'onclick' => "$('#div_form').load('" . "/ajax/submit" . "', $('#div_form').serializeArray()); return false;" 
    )); 

添加像上面显示的提交。

return false; 

取消实际提交表格。

在你AjaxController.php,

public function submitAction() { 
    $this->_helper->layout->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(TRUE); 
    //Get your form data from the params 
    Zend_Debug::dump($this->_getAllParams()); 
    //Process data using your model and return appropriate messages. 
    echo "Your form is submitted"; 
} 

试试上面,让我知道,如果你有任何问题。

+0

你能解释一下这条线是做什么的? (''。'/ ajax/submit'。“',$('#div_form')。serializeArray());返回false;“ – user648198 2011-09-05 08:45:07

+0

@ user648198 - 无论从ajax调用的输出将被放置在称为”div_form“的div中,您可以放任何你想要的。 – emaillenin 2011-09-05 10:04:48

+0

谢谢!所以使用你的例子我必须添加到表单$ form-> setAttrib('id','div_form');我设法获取提交操作中的值,但是如何检查并重新填充表单,如果它无效?您是否有任何提交操作代码的示例,我可以查看 – user648198 2011-09-05 11:34:44