2012-03-26 58 views
2

以下是一些代碼,用於確保在屬性爲的輸入的值等於''時,人們無法提交。我的問題是,它從第一個到最後一個輸入檢查IF聲明。這意味着如果第一個輸入有一個值,表單將提交;如果前兩個輸入被填充,它將提交等等......如果第一個輸入未被填充,則對於其他輸入工作正常。是否有可能確保在返回true或false之前檢查所有輸入?如果語句在類型的第一個選擇器返回true時返回true

$('form').submit(function() { 
    var input = $('input, textarea'); 

    if (input.data('fill') == 'fill' && input.val() == '') { 
     return false; 
    } 
}); 

我知道我可以通過針對每個單獨的輸入與「否則,如果」解決這個問題,但這似乎只是錯誤的方法去做。

回答

3

要考慮所有input值使用each方法。

$('form').submit(function() {  
    var allFilled = true; 
    $('input, textarea').each(function() { 
    if ($(this).data('fill') === 'fill' && $(this).val() === '') { 
     allFilled = false; 
    } 
    }); 

    return allFilled; 
}); 
+0

非常感謝,不知道你可以從if語句創建一個var false。這太棒了!謝謝 – BrianP 2012-03-26 19:05:51