我有一个表单,我希望它使用我用 jQuery 制作的方法 validateForm() 进行验证:
function validateForm() {
var count = 0;
$("input[type='text']").each(function () {
if ($(this).id == "AbdominalCircumferencetext") {
if ($("#AbdominalCircumferencetext").val() == "" || ($("#AbdominalCircumferenceradio").val().length == 0)) {
($("#AbdominalCircumferencetext").css("border", "2px solid red"));
($("#AbdominalCircumferenceradio").css("border", "2px solid red"));
count++;
}
}
if ($(this).val() == "") {
$(this).css("border", "2px solid red");
count++;
}
else {
$(this).css("border", "");
}
});
var checkboxGroupNames = [];
$(':radio').each(function () {
var nameOfCheckBoxGroup = $(this).attr('name');
var nameExistInList = jQuery.inArray(nameOfCheckBoxGroup, checkboxGroupNames);
if (nameExistInList < 0) {
checkboxGroupNames.push(nameOfCheckBoxGroup);
}
});
var counter = 0;
var counts = 0;
$.each(checkboxGroupNames, function () {
if ( $("input[name='" + checkboxGroupNames[counter] + "']:checked").length === 0) {
$("#" + checkboxGroupNames[counter] + "radio").css("border", "2px solid red");
counts++;
}
else {
$("#" + checkboxGroupNames[counter] + "radio").css("border", "");
}
counter++;
});
if (counts == 0 && count == 0) {
return true;
} else {
alert("Du måste fylla i alla rutorna samt välja något alternativ av radioknapparna!");
return false;
}
}
问题是我想对每个没有值的文本字段或单选按钮进行计数。因此,每次边框设置为红色时,它都没有值,在这种情况下,我想像在代码中一样进行计数。然后在代码通过所有文本框和单选按钮之后,我想查看它们是否失败。但我不能像我的代码末尾那样计算。它说它永远是真的。如果有更好的方法来做到这一点?还是我以正确的方式做事,但语法错误或其他什么?