2011-04-11 72 views
0

我有一個表單,並且需要檢查以確保字段集的任何子輸入都爲空。我怎樣才能使用jQuery來完成這個任務?如何查找帶有課程的所有子元素並檢查是否有空元素?

如果與.required任何字段爲空 - >還有一些尚未填寫 如果與.required已經提交了所有領域 領域 - >已經全部魚貫而出

+0

如果您的驗證數據請考慮使用http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – mcgrailm 2011-04-11 19:41:23

回答

2

通過表單ID和類名選擇您的字段。然後用.filter(),以減少你的設置爲僅包含尚未填寫以下字段:

var emptyFields = $("#myForm .required").filter(function() 
{ 
    return $(this).val() == ""; 
}); 

如果你不想做的領域什麼,但只需要一個布爾值:

var anyEmptyFields = !!emptyFields.length; 
+1

我建議:'return this.value && $ .trim(this.value)===' ';' – 2011-04-11 19:40:15

0

試試這個:

<fieldset id="myForm"> 
      <input type="text" required="true" /><br /> 
      <input type="check" required="true" /><br /> 
      <input type="radio" required="true" /><br /> 

      <input type="text" required="false" /><br /> 
      <input type="check" required="" /><br /> 
      <input type="radio" /><br /> 
      <button onclick="$('#myForm').find('input[required=true]').after('<span>null</span>');">Check</button> 
     </fieldset> 
2

試試這個:

var emptyRequiredFields = jQuery("#post-form .required:input").not("[value]"); 
+0

爲什麼投下了票? – epascarello 2011-04-11 20:02:27

+0

我的不好,如果你要編輯你的帖子,我可以撤銷我的downvote。我很驚訝,這是有效的 - 改變價值不應該改變屬性,只是屬性。事實上,即使輸入文本,input.hasAttribute(「value」)也會在Chrome和FF中返回false,正如我所料。我想jQuery不*實際*檢查屬性,但也屬性。實際上,我在測試之前進行了測試,但在測試中出現了一個錯誤,它返回了誤報。呃,對不起! – gilly3 2011-04-11 20:23:42

0

試試這個:

 

$("form[name=form_name] .required").each(function(index,e){ 
    if(e.value == ''){ 
    alert(e.name+' field is required!'); 
    } 
});