2013-12-13 47 views
1

我努力使自己的形式驗證jQuery的每一個特定的表單元素只有

起初我使用此代碼

$(".check_submit").submit(function(event){ 

      event.preventDefault(); 

      var error = false; 

      $(".req_field").each(function(index){ 

        if(!$(this).val()){     
         error = true; 
        }          

      }); 

      if(error == false){ 
       this.submit();      
      }else{ 
       alert("fill all please"); 
      }     

    }); 

後來我發現,如果我有一個以上的表格在同一個頁面的衝突發生,

所以我寫了這個代碼,但是有一些東西錯

$(".check_submit").submit(function(event){ 

      event.preventDefault(); 

      var error = false; 

      $(this).children(".req_field").each(function(index){ 

        if(!$(this).val()){     
         error = true; 
        }          

      }); 

      if(error == false){ 
       this.submit();      
      }else{ 
       alert("fill all please"); 
      }     

    }); 

回答

3

使用find()代替:

$(this).find(".req_field").each(...) 

children()只會尋找第一級後代

+0

謝謝,那工作:) – user3100350

2

你需要 「找到」,而不是 「孩子」。 「孩子」只選擇直系後代。

相關問題