ajax - Zend 表单 ajax 提交验证

标签 ajax zend-framework jquery zend-form

我目前正在尝试同时使用 ajax 和 zend validate 验证 zend 表单...

让我解释一下,我的表单在 iframe(fancybox)中弹出,提交后,我需要显示一条“谢谢”消息,关闭 iframe 并重定向用户。我打算使用ajax验证来关闭fancybox iframe,如果成功的话。

我遵循了几个教程http://www.zendcasts.com/ajaxify-your-zend_form-validation-with-jquery/2010/04/解释如何 ajaxify zend 表单以显示错误,例如文本输入上的 onblur 事件。

一切正常,发现 onblur 或 over 事件,但是当我在提交按钮上指定单击事件时,我的猜测是表单由 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);
}

最佳答案

您应该在 .submit 上返回 false 或 PreventDefault

(function() {
    $('#contact').submit(function() {
        doValidation();
        return false;
    }
});

关于ajax - Zend 表单 ajax 提交验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620371/

相关文章:

ajax - AJAX 可以提交基本身份验证的凭据吗?

php - 序列化对象并缓存它们的奇怪行为

javascript - 将 JavaScript 更改为 jQuery 不起作用

javascript - 当网络显示 200 时处理 404

jquery - Ajax 表单重做

php - 如何让 zend 框架在浏览器中显示 'hello world'?

javascript - .load() [从第二页] 函数工作,但不从第二页加载 jquery

jquery - 如何使用 jQuery 查找 PC MAC 地址

java - 堆栈溢出站点中的更新消息是如何显示的

php - Zend 2::在 Controller 操作中轻松获取公用文件夹路径或 basePath()