2013-01-31 57 views
1

我想在代碼執行其他功能,後面之前驗證的形式幾個文本框,所以我就:jQuery驗證整個表單問題

var validForm; // **If i set it there to true it will always be true** 
      $('#Form :input').each(function() { 
       var id = this.id; 
       var value = this.value; 
       var isMatch = id.substring(0, 4) == "txt_"; 

       if (isMatch == true) { 
        if (($.trim(value) == 0) { 
         alert("invalid " + id); 
         valid = false; 
        } // **if I include a else here it will not be valid as it is foreach loop** 

       } 
      }); 

      if (validForm == true) { 
       $.ajax({ 
        type: "POST", 
        url: "Form.aspx/Print", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 

        success: function (msg) { 
         if (msg.d == 'Success') { 
         } 
        } 

       }); 
      } 

,如果我做一個else語句foreach循環,並設置validForm變量如果最後的文本框是有效的並且其餘的無效,那麼它將無法工作,那麼它會將我的變量設置爲true(請參閱代碼註釋)。另一方面,如果我在開始時將validForm設置爲true,那麼它將始終爲真(請參閱代碼註釋)。

有關如何解決此問題的任何想法?

+2

在行號10使用的是一個錯誤的變量即有效= FALSE;它應該是validForm = false; –

+1

你在哪裏做validForm = false? – Adil

+0

我不好的現場球員讓我測試與改變 – Zaki

回答

1

在行號10使用的是一個錯誤的變量:

valid = false; 

這應該是這樣的:

validForm = false;