2013-02-12 137 views
0

嗨元素我試圖驗證所有files具有類似名稱jQuery驗證具有類似名稱

這些都是我的輸入元素

<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() { ....}

+0

你試過了嗎?那工作?如果是,那麼這是可能的 – asifsid88 2013-02-12 15:28:54

+0

只適用於一個文件 – Rakesh 2013-02-12 15:29:30

+0

在文件中使用'each'。您的有條件的權利現在只檢查File1 – danronmoon 2013-02-12 15:30:47

回答

0

這將工作

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

這是因爲,所以你需要通過他們迭代來檢查每一個元素$('input[name^=file]')將返回多個元素

0

什麼你已經嘗試將無法正常工作,因爲val()方法返回匹配元素集合中元素的第一個元素的值。換句話說,它只會告訴你File1是否爲空。您需要遍歷每個元素並檢查一個空值,或使用簡單的if語句。

0

您擁有的腳本將檢查文件的第一個輸入類型的條件。您需要使用一些循環構造來包含所有這三個字段。