Disable button until required fields are valid

2.4k Views Asked by At

I've searched for the answer to this problem but still can't get this to work:

<script type="text/javascript"> 
$(document).ready(function (){
    validate();
    $('#contact_subject').change(validate);
});

function validate(){
    if ($('#contact_subject').val().length   >   0  {
        $('button').prop('disabled', false);
    }
    else {
       $('button').prop('disabled', true);
    }
}

</script>

I want to make sure #contact_subject has data or else disable the button.

2

There are 2 best solutions below

5
On BEST ANSWER

Change the event.Try this: http://jsfiddle.net/e0t7qv56/1/

$("#field").keyup(function(){
    console.log($(this).val().length);
    if($(this).val().length)
        $("#btn").prop('disabled', false);
    else
        $("#btn").prop('disabled', true);
});
1
On

I think you are missing a bracket ) in if condition

function validate(){
    if ($('#contact_subject').val().length   >   0)  {
        $('button').prop('disabled', false);
    }
    else {
       $('button').prop('disabled', true);
    }
}