jquery - 检查空值的特定输入,并将类添加到只有那些空的输入

时间:2014-09-24 11:56:58

标签: javascript jquery

我的表单中包含所需的输入字段,我将其指出为组成的类名。 我有一段有用的代码。如果我专注于所需的输入,然后按提交,那么输入将变为红色,如果为空(我想要)。但它只能一次只能用于一个,如果我专注于输入。

我的代码如下:

function checkIfEmpty(){
    $('#register-form input.gv-form-required').blur(function(){
        if( !$(this).val()){
            $(this).parent().parent().addClass("has-error");
            return false;
        }else{
            return true;
        }
    });
}

我几乎可以肯定blur()方法不适合我的情况。 请帮助一个男人到这里来。

4 个答案:

答案 0 :(得分:2)

试试这个:您必须使用.each()检查表单中的每个输入,并将removeClass置于else条件中。

function checkIfEmpty(){
    var empty = false;
    $('#register-form input.gv-form-required').each(function(){
        if($(this).val().trim()==""){
            empty = true;
            $(this).parent().parent().addClass("has-error");
        }else{
            $(this).parent().parent().removeClass("has-error");
        }
    });
    return empty;
}

答案 1 :(得分:1)

在你的情况下,blur事件似乎并不合适。我要做的是,我会遍历每个字段并检查它是否已填满。如果是,则删除(如果有)has-error类。如果没有填写,请给它has-error

function checkIfEmpty(){
    $('#register-form input.gv-form-required').each(function(){
        if($(this).val() === ""){
            $(this).parent().parent().addClass("has-error");
        }else{
            $(this).parent().parent().removeClass("has-error");
        }
    });
}

答案 2 :(得分:0)

将您的代码更改为以下内容:

function checkIfEmpty(){
   $('#register-form input.gv-form-required').each(function(){
       if( !$(this).is(':empty')){
           $(this).parent().parent().addClass("has-error");
       }else{
           $(this).parent().parent().removeClass("has-error");
       }
   });
}

答案 3 :(得分:0)

试  在其他情况下

$(this).parent().parent().removeClass("has-error");

js code

      if( !$(this).val()){
            $(this).parent().parent().addClass("has-error");

        }else{
            $(this).parent().parent().removeClass("has-error");

        }