Check,reset buttons active after all inputs were completed

179 views Asked by At

how can i make check and reset buttons active after 6 inputs were completed? I have tryed:

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

EDIT 2 with fiddle : http://jsfiddle.net/usPMd/88/

4

There are 4 answers

2
R3tep On BEST ANSWER

Edit : Your Jsfiddle return error 404... So I developed a basic example (it is not perfect).

Jsfiddle

Javascript solution :

<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>
3
lshettyl On

Ok, Here you go:

Workign demo: JSFiddle

HTML (partial):

<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);
    }
});
1
Bhojendra Rauniyar On

So, use length then:

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

And also there might be a typo .input should be input but not 100% sure because this might also be class.

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