我有一个页面,上面有多个表单。每个表单都有自己的“保存”按钮,该按钮使用 .ajax() 来验证并显示错误消息来发布(不是正常的发布方法)。我在表单之外还有一个“下一步”按钮,该按钮由 jQuery click() 处理程序捕获。该函数遍历每个表单并为每个表单调用 $(formname).submit()。
最终我需要知道各个表单是否通过了验证,以便确定是否应该进行重定向。我在提交函数中验证检查的 else 语句中添加了 return false;
,但我不知道如何检索它。
拥有 alert($(this).submit());
只是返回对象而不是返回值。如果不重新编码每个表单的整个 $.ajax 邮政代码,我是否可以找出提交是否失败?
//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;
}
});
谢谢
最佳答案
如果有人需要知道,我发现没有办法让提交返回成功值。最后,我将 ajax post 更改为 async: false,将其放入一个函数中,该函数返回由 ajax post 的成功或错误事件设置的 bool 值。由于服务器调用的连续性,速度没有那么快,但我将添加一个加载对话框来帮助解决这个问题。
关于jquery - 通过jquery从submit()获取返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451232/