В настоящее время я пытаюсь проверить форму Zend с помощью ajax и Zend validate одновременно ...
Позвольте мне объяснить, мои формы всплывают в iframe (fancybox), и при отправке мне нужночтобы отобразить сообщение «спасибо», закройте iframe и перенаправьте пользователя.Я планировал использовать проверку ajax для закрытия iframe fancybox в случае успеха.
Я следовал нескольким учебникам http://www.zendcasts.com/ajaxify-your-zend_form-validation-with-jquery/2010/04/, объясняющим, как отрегулировать вашу Zend-форму для отображения ошибок, например, события onblur в textinput.
Все работает, найдите события onblur или over, но когда я указываю событие click на кнопке отправки, я предполагаю, что форма обрабатывается с помощью zend, а проверка ajax не работает ... У вас есть какие-либо подсказки иливы видите очевидные ошибки ??Большое спасибо .... JavaScript:
$(function()
{
$('#contact').submit(function()
{
doValidation();
});
});
function doValidation()
{
var url = '/ceramstar/public/contact/validateform';
var data = {};
$("input").each(function(){
data[$(this).attr('name')] = $(this).val();
});
$.post(url,data,function(resp)
{
//document.write(resp);
console.log(resp);
alert(resp);
//parent.$.fancybox.close();
},"json");
}
Zend Action:
public function validateformAction()
{
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
$form = new Form_ContactForm();
$form->isValidPartial($this->_getAllParams());
//print_r($bool);
$json = $form->processAjax($this->getRequest ()->getPost ());
header('Content-type: application/json');
echo Zend_Json::encode($json);
}