完成所有输入后,检查,重置按钮是否激活

时间:2014-03-17 10:16:43

标签: javascript jquery

如何在6个输入完成后激活检查和重置按钮?我试过了:

if($('.input') == ""){  
    checkBtn.disabled = true;
    resetBtn.disabled = true;
    }
else{
    checkBtn.disabled = false;
    resetBtn.disabled = false;
}

编辑2与小提琴:http://jsfiddle.net/usPMd/88/

4 个答案:

答案 0 :(得分:3)

   if($('.input').length == 6){  
      checkBtn.disabled = false;
      resetBtn.disabled = false;
    }else{
      checkBtn.disabled = true;
      resetBtn.disabled = true;
    }

答案 1 :(得分:3)

编辑:你的Jsfiddle返回错误404 ...所以我开发了一个基本的例子(它并不完美)。

Jsfiddle

Javascript解决方案:

<body>

    <form>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input type="text" onChange="checkInput()" onKeyup="checkInput()"/>
      <input id="send" type="submit" disabled/>
      <input id="reset" type="reset" disabled/>
    </form>

    <script type="text/javascript">
    var checkBtn = document.getElementById("send");
    var resetBtn = document.getElementById("reset");
    var inputTag, lengthInputTag, nbCompleted;

    function forEach( a, fn ) {
        return [].forEach.call(a, fn);
    };

    function checkInput(){
        inputTag = document.getElementsByTagName("input");
        lengthInputTag = inputTag.length;
        nbCompleted = 0;
        console.log(inputTag);

        forEach(inputTag, function(el) {
           if(el.value != ""){
              nbCompleted++;
           }
        });

        if(nbCompleted < 6){
           checkBtn.disabled = true;
           resetBtn.disabled = true;
        }else{
           checkBtn.disabled = false;
           resetBtn.disabled = false;
        }  
    };
    </script>
</body>

答案 2 :(得分:2)

所以,请使用长度:

if($('.input').length == 7){ //after 6 is 7th input 
    checkBtn.disabled = true;
    resetBtn.disabled = true;
    }

此外可能还有一个拼写错误.input应该input但不是100%肯定,因为这也可能是等级。

答案 3 :(得分:2)

好的,你走了:

工作演示:JSFiddle

HTML(部分):

<button id="validateButton" class="validateButton" type="button" disabled="disabled">Check</button>
<button id="resetButton" class="resetButton" type="button" disabled="disabled">Reset</button>

JS:

$(document).on('change blur', '.input', function(){
    var count = 0;
    $('.input').each(function(){
        var elem_v = $.trim ( $(this).val() );
        if (elem_v != "") {
            count++;
        }
    })
    $('button').prop('disabled', true);
    if (count===6){
        $('button').prop('disabled', false);
    }
});