通过禁用按钮阻止提交,直到选择一个值

时间:2014-03-17 05:24:57

标签: javascript jquery

如果选择或输入至少一个值,我怎么能(我想解决方案是)禁用我的提交按钮?

   <form name="forma" method="POST" action="used-results.php" id="apliforma">

lots of textboxes and dropdown menus


 <a onclick="forma.submit();" class="btn btn-primary">Search</a>
</form>

3 个答案:

答案 0 :(得分:2)

您已为change事件添加了一个侦听器,并检查了值

$(document).ready(function (){
    validate();

    // In case of validating specific fields
    $('#name, #email').change(validate);
});

function validate(e){
    if ( $('#name').val().length > 0  &&  $('#email').val().length > 0 ) {
        $('#submit').prop('disabled', false);
    } else {
        $('#submit').prop('disabled', true);
    }
}

答案 1 :(得分:0)

是的,这可以这样做。

function ready(){   

    var inputs = document.getElementsByTagName('input'); 
    for (var i = 0; i < inputs.length; i++) { 
        inputs[i].addEventListener('change', function (e) {
        document.getElementById('submit').disabled = e.target.value === "" }, false);   
    } 
} 

document.addEventListener( "DOMContentLoaded", ready, false )

您必须将以下标记添加到submit按钮id='submit' disabled='disabled'

干杯。

答案 2 :(得分:0)

请检查具有下拉列表的那个

JSFIDDLE

    $(document).ready(function (){
    validate();
    $('input,select').change(validate);
});

function validate(e){

    var validation = true;
    $('input , select').each(function(){ 

        if($(this).val()=="")
        {
            validation = false;
        }
    });   

    if ( validation ) {
        $('#submit').prop('disabled', false);

    } else {

        $('#submit').prop('disabled', true);
    }
}