2013-03-22 51 views
0

jQuery的檢查輸入字段的arent空和發射形式

$('.sendButton').click(function(e){ 
     e.preventDefault(); 
     var errors = 0; 
     $("#steps input").each(function(){ 
      if ($.trim($(this).val()).length == 0){ 
       errors = 1; 
      } else { 
       errors = 2; 
      } 
     }); 
     if (errors == 2){ 
      $('#general').submit(); 
     } 
    }); 

上面的代碼的作品,但它取決於很多的投入怎麼也#steps DIV中激發自己的狀態。有人能幫我解決問題嗎?

根據用戶從下拉列表中選擇的數量,#steps內的輸入可以在1個輸入字段和4個輸入字段之間變化。

所以上面的代碼基本上檢查當用戶試圖提交表單時從下拉列表中選擇的數量字段不是空的。

因此,如果我從下拉列表中選擇2,則會顯示2個輸入,並且當表格值填滿時,表單將觸發2次。

+2

_「上面的代碼實質上檢查當用戶嘗試提交表單時從下拉列表中選擇的數量字段不爲空」_ - 否。它檢查_last_數量字段不是空的。如果你想讓它在任何空的時候阻止提交,你應該移除'else'的情況,並且只是測試'if(errors === 0)'。 (或者你爲什麼不使用布爾值?) – nnnnnn 2013-03-22 09:07:15

回答

1

假設您不想提交表單,如果任何輸入爲空。

$('.sendButton').click(function(e){ 
    e.preventDefault(); 
    var errors = 0; 
    $("#steps input").each(function(){ 
     if ($.trim($(this).val()).length == 0) 
      errors = 1;   
    }); 
    if (errors != 1){ 
     $('#general').submit(); 
    } 
});