jQuery和禁用以表单形式提交

时间:2011-12-11 12:30:50

标签: jquery

目前我使用此代码禁用提交按钮,直到填写表单中的所有输入字段。 Altough我想在keyup上添加刷新,所以只要你在最后一个输入框中输入就会启用按钮......

function buttonState(){
    $("input").each(function(){
        $('#submit').attr('disabled', 'disabled');
        if($(this).val() == "" ) return false;
        $('#submit').attr('disabled', '');
    })
}

$(function(){
    $('#submit').attr('disabled', 'disabled');
    $('input').change(buttonState);
})

3 个答案:

答案 0 :(得分:1)

<强>被修改

$(function(){
    function buttonState(){
        var isValid = true;
        $("input").each(function(){
            if($(this).val() == "" ) isValid = false; 
        });
        if (isValid) $('#submit').attr('disabled', '');
        else $('#submit').attr('disabled', 'disabled');
    }
    $('#submit').attr('disabled', 'disabled');
    $('input').on('change keyup', buttonState);
})

答案 1 :(得分:0)

你试过吗

$('#submit').removeAttr('disabled'); 

而不是

$('#submit').attr('disabled','');

不确定这是否重要,但无论如何都可能会产生更清晰的标记。

你说'不'为一些人提供帮助'......你能更准确吗?它是以任何方式提交,还是按钮未启用状态?

答案 2 :(得分:0)

AFAIK我这样做是为了在表单元素上设置disabled属性:

$('#submit').attr('disabled',true); //to set it disabled
$('#submit').attr('disabled',false); // to release the disabled attr