да, вы правы, я нашел способ, который может быть не самым красивым, но, кажется, работает: $. post (url, data, function (resp) {//document.write(resp); console.log (resp); alert (resp); // parent. $. fancybox.close (); $ ('# contact'). submit ();}, "json"); - user698812 11 апреля в 13:01

тоящее время я пытаюсь проверить форму 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 в текстовом вводе

Все работает, найдите события 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:

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);
}

Ответы на вопрос(1)

Ваш ответ на вопрос