如何使用jQuery检查空白的所有输入?

时间:2014-04-27 10:23:42

标签: jquery validation input

我正在尝试使用JQuery检查表单中的所有输入是否已填充。观众点击一个按钮,如果输入已经填满,就会发生很酷的事情。但是,如果其中一个字段尚未填充,则查看者需要获取自定义警告消息。我想我差不多了,但我需要一些帮助。

$(function() {
$("#btn_click").click(function() {
    if( $("input").val() == 0 ) {
    $("form").append('<span class=".warning">You didn\'t fill out all the fields!</span>');
}
    else {
        //Some cool stuff happens
    }
});

});

当我没有填写任何输入时,我会收到警告的预期行为。非常好。但是,如果我填写第一个输入并将所有其他输入留空,那么“酷的东西”就会运行。那很糟。我希望警告显示任何输入是否留空。如何让JQuery测试所有输入?

5 个答案:

答案 0 :(得分:2)

$(function() {
$("#btn_click").on('click',function(e) {
    e.preventDefault();
    $("input").each(function(){
        if(!$(this).val()){
           //error message
            return false;
        }else{
           //remaining code
       }
    });
  });
});  

答案 1 :(得分:1)

您可以为每个输入元素添加ID,然后使用Jquery检查是否有任何空白然后显示 错误消息,否则做你很酷的东西

答案 2 :(得分:0)

$('input').val()只会检索第一个输入的值。如果你想检查所有输入,你应该用each检查所有输入(只是一个例子,你可以使用其他东西):

$('btn_click').on('click', function (e) {
    e.preventDefault(e) ;
    var allOk = true ;
    $('input').each(function () { // Iterate over input
        if (!$('input').val()) { // Don't check against 0
            allOk = false ; // If the input isn't ok
        }
    }) ;
    if (!allOk) {
        // Warning message
    }
    else {
        // Some cool stuff
    }
}) ;

答案 3 :(得分:0)

尝试$("input").filter(function(){return this.value==''}).length > 0

或更好,因为你已经在使用jQuery使用一些复杂的验证插件

答案 4 :(得分:0)

您可以使用以下方式检查:

if ($("input").length != $('input').filter(function () {
        return $.trim(this.value)
    }).length) {
    /* not all inputs filled */
}