jquery - 检查是否在不使用ID的情况下选择了任何文件

时间:2015-10-19 19:52:35

标签: jquery

我正在尝试创建一个可重用的外部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; 
}

1 个答案:

答案 0 :(得分:2)

您可以在类似ID上使用.filter

var atleastOneFileSelected = $("[id^=file]").filter(function() {
    return $(this).val().length > 0;
}).length > 0;