我正在尝试创建一个可重用的外部js文件来验证多个页面。我现在的代码是:
if($('#file1').val().length == 0 &&
$('#file2').val().length == 0) {
alert("ERROR! Select at least one file before submitting form!")
$('#file1').focus();
validForm = false;
}
此代码在其他页面上复制,但可能有n
个文件,我想迭代遍历DOM并检查是否至少选择了一个文件。如果不是,则返回false。
我不想定义每个ID是什么,而是通过dom找到每个ID并以这种方式检查它,或者是否有更简单的方法来执行此操作。
伪代码
var fileCount = 0;
interate through dom {
if($('#fileN').val().length > 0 {
fileCount++;
}
}
if (fileCount == 0){
alert("ERROR! Select at least one file before submitting form!")
$('#file1').focus();
validForm = false;
}
答案 0 :(得分:2)
您可以在类似ID上使用.filter
:
var atleastOneFileSelected = $("[id^=file]").filter(function() {
return $(this).val().length > 0;
}).length > 0;