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