通过jquery从submit()获取返回值

通过jquery从submit()获取返回值,jquery,submit,return-value,Jquery,Submit,Return Value,我有一个页面上有多个表单。每个表单都有自己的保存按钮,该按钮使用.ajax()验证并显示错误消息以进行发布(不是普通的发布方法)。我还有一个表单外的Next按钮,由jQuery click()处理程序捕获。此函数遍历每个表单,并为每个表单调用$(formname).submit() 最后,我需要知道各个表单是否通过了验证,以确定是否应该发生重定向。我添加了,返回false,但我看不到如何检索它 具有警报($(this.submit())只返回对象,而不是返回值。如果不重新编码每个表单的整个$.a

我有一个页面上有多个表单。每个表单都有自己的保存按钮,该按钮使用.ajax()验证并显示错误消息以进行发布(不是普通的发布方法)。我还有一个表单外的Next按钮,由jQuery click()处理程序捕获。此函数遍历每个表单,并为每个表单调用$(formname).submit()

最后,我需要知道各个表单是否通过了验证,以确定是否应该发生重定向。我添加了,
返回false,但我看不到如何检索它

具有
警报($(this.submit())只返回对象,而不是返回值。如果不重新编码每个表单的整个$.ajax post代码,我是否可以确定提交是否失败

//next button click
$('#savenext').click(function () {
    var finalsuccess;
    $('.record_form').each(function (index) {
        alert($(this).submit()); //I want this to be true or false
    });
//forms each have their own submit handler
$(formname).submit(function (e) {
    e.preventDefault();
    var form = $(this);

    if($(form).valid()) { //validate the form, return false if it is not valid. 
    //Post the form to the action if it passes
        $.ajax({
            url: form.attr('action'),
            type: "POST",
            dataType: "text json",
            data: form.serialize(),
            success: function (response) {
                //does some success messages here
            },
        });
    }
    else {
        return false;
        }
});

谢谢

如果有人需要知道,我没有办法让提交返回成功值。最后,我将ajaxpost更改为async:false,将其放入一个函数中,该函数通过ajaxpost的成功或错误事件返回一个布尔集。由于连续不断的服务器调用,速度没有那么快,但我将添加一个加载对话框来帮助解决此问题。

我在搜索问题的解决方案时发现了这个问题,但找不到任何有效的方法。最后我不得不“钩住”jQuery提交函数,下面的代码是为了防止有人也有同样的问题

// override jQuery.submit() so that it returns true/false rather than a jQuery object
var original_submit = jQuery.fn.submit;
jQuery.fn.submit = function() {
    // we are only interested in the .submit() trigger calls
    if (arguments.length == 0)
    {
        var ret = $(this).triggerHandler("submit");

        // assume true unless we specifically returned false
        return ret === false ? false : true;
    }

    // fallback to original function
    return original_submit.apply(this, arguments);
};

为什么不改用
jquery验证
插件呢-/嗨,戴夫。所有的验证工作都很顺利,所以我不需要更改任何内容。我只需要找出从form.submit()返回响应的最佳方法。这个插件中有什么东西允许这样做吗?