我有一个 jQuery 表单验证脚本,在用户尝试提交时执行。我希望在验证表单之后但在发送之前执行(并完成)另一个带有 AJaX 请求的函数。
这是脚本。zglosip函数在单独调用时可以正常工作;即不是来自submit()
函数内部。
zglosip(); (我想被调用的函数)
function zglosip() {
$.ajax({
type : 'post',
url : 'res/php/nZglos.php',
data : {
"erepid" : "111",
"ip" : "222",
"poz" : "333"
},
success : function(data, textStatus, jqXHR) {
tempor.html(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
tempor.html(errorThrown);
},
dataType : 'text'
return true;
});
};
验证脚本(由Joren Rapini创建并由我修改)
pole & tempor 是包含一些 div 名称的变量
$("#forml").submit(function(){
//Validate required fields
if ((pole.val() == "") || (pole.val() == blad)) {
pole.addClass("podkresl");
pole.val(blad);
} else {
pole.removeClass("podkresl");
}
// Validate the e-mail.
if (!/\b(https?|ftp|file):\/\/[\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[\-A-Za-z0-9+&@#\/%=~_|]/.test(pole.val())) {
pole.addClass("podkresl");
pole.val(blad);
}
if ($(":input").hasClass("podkresl")) {
return false;
} else {
if (zglosip() == true) {
return true
}
}
});
正如您已经发现的那样,我试图在返回 truesubmit()
之后返回函数的zglosIp()
true (脚本底部的 if 语句)。不幸的是,这不起作用,我也尝试过在zglosip()
其中单独调用,function{return true}
但肯定我没有正确使用它。请帮我。