[英]"return false;" for form submission is not working
“返回錯誤;” 表單提交適用於我的代碼的 rest,只是不適用於此部分。 任何想法為什么?
function checkForm() {
$("select[name*=lic_company]").each(function() {
if($(this).val() != '') {
var i1 = $(this).parent("td").next("td").children("select");
var i2 = i1.parent("td").next("td").children("input");
var i3 = i2.parent("td").next("td").children("input");
if(i1.val() == '') {
i1.parent("td").addClass("formErrorTD");
i1.addClass("formError");
alert("You must enter a state for this license");
return false;
}
if(i2.val() == '') {
i2.parent("td").addClass("formErrorTD");
i2.addClass("formError");
alert("You must enter an expiration date for this license");
return false;
}
if(i3.val() == '') {
i3.parent("td").addClass("formErrorTD");
i3.addClass("formError");
alert("You must enter a license number for this license");
return false;
}
}
});
}
它被調用
$("#addAgentForm").submit(checkForm);
您正在調用return false;
在一個傳遞給.each
的參數的閉包中。 因此, .each
正在捕獲return false;
. 要解決此問題,您需要有一個 boolean 標志,其中包含以下形式的 state:
function checkForm() {
var okay = true;
$("select[name*=lic_company]").each(function() {
...
return okay = false;
...
});
return okay;
}
一切都會好起來的。
您的return false
語句位於傳遞給.each()
的匿名 function 中,因此僅返回該 function 的值,而不是對checkForm()
的整個調用。
如果我不得不猜測,那是因為您從傳遞給每個調用的 function 返回,這意味着您真正做的就是退出每個 function,而您的主要驗證 function 順利完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.