“返回错误;”表单提交适用于我的其余代码,但不适用于本节。有什么想法吗?
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;
。为了解决这个问题,您需要一个布尔标志来保存表单的状态:
function checkForm() {
var okay = true;
$("select[name*=lic_company]").each(function() {
...
return okay = false;
...
});
return okay;
}
一切都会正常。
关于javascript - “返回错误;”表格提交不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10055923/