"return false;" для представления формы работает для остальной части моего кода, только не в этом разделе. Любые идеи почему?"return false;" для отправки формы не работает
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);
Не могли бы вы пояснить, что вы подразумеваете под «нерабочим»? –
Поскольку область '.each()' внутри 'checkForm()' возвращает false, а не 'checkForm()'. Вам нужно установить локальную переменную 'checkForm()' -scoped, установить для нее значение true, а затем внутри этих циклов установить для этой локальной переменной значение false, а затем вернуть ее из 'checkForm()'. –