Jquery验证具有相似名称的元素

时间:2013-02-12 15:25:34

标签: javascript jquery

您好我正在尝试验证具有相似名称的所有files

这些是我的输入元素

<form id="MyForm" onsubmit="return validate();">
<input type="file" name="File1"  />
<input type="file" name="File2" />
<input type="file" name="File3" />
</form>

我的尝试是

 function validate()
  {
   if($('input[name ^= "File"]').val()=='')
   {
     alert("The field is empty");
     return false;
   }
   }
这可能吗?或者需要像$('input[type=file]').each(function () { ....}

那样做

3 个答案:

答案 0 :(得分:0)

这将有效

$('input[name^=file]').each(function() {
    if($(this).val() === '')
    {
        alert('The field is empty');
        return false;
});

这是因为$('input[name^=file]')将返回多个元素,因此您需要遍历它们以检查单个元素

答案 1 :(得分:0)

你尝试过的东西不起作用,因为val()方法返回匹配元素集中第一个元素的值。换句话说,它只会告诉你File1是否为空。您将需要遍历每个元素并检查空值,或使用简单的if语句。

答案 2 :(得分:0)

您拥有的脚本将仅检查第一个输入类型的File的条件。您需要使用一些循环结构来涉及所有三个字段。