ajax改为同步的,而且你回调return true/false没有用,并不是checkIsOvered的返回值,这样checkIsOvered返回的是undefinedif(checkIsOvered("cardno","percent")==false){return false;} //问题所在代码行就不执行,导致表单提交会中断ajax执行从而指定到error回调,改为同步的 function checkIsOvered(cardnotarget, percentTarget) {
var customerCardNo = document.getElementById(cardnotarget).value;
var customerPercent = document.getElementById(percentTarget).value;
var ok = false; ///////////////////////
$.ajax({ type: "post", async: false/*要同步执行*/, url: "../Query/repeatWarn?cardNo=" + customerCardNo + "&cpercent=" + customerPercent + "&proType=1",
success: function (msg) {
if (msg == "alreadyOvered") { alert("任务比例总和超过100%!"); }
if (msg == "notOver") { ok = true; } ///////////////////
}, error: function (msg) { alert(msg); }
});
return ok; ///////////////////////
}
var customerCardNo = document.getElementById(cardnotarget).value;
var customerPercent = document.getElementById(percentTarget).value;
var ok = false; ///////////////////////
$.ajax({ type: "post", async: false/*要同步执行*/, url: "../Query/repeatWarn?cardNo=" + customerCardNo + "&cpercent=" + customerPercent + "&proType=1",
success: function (msg) {
if (msg == "alreadyOvered") { alert("任务比例总和超过100%!"); }
if (msg == "notOver") { ok = true; } ///////////////////
}, error: function (msg) { alert(msg); }
});
return ok; ///////////////////////
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货