0

当用户在输入中键入所有信息并选中复选框时,如何从按钮中删除禁用属性?

我的尝试:

完整代码:http: //jsfiddle.net/7zMRM/1/

$('#id_accept').click(function(){
    if($('#id_accept:checked').length == 1 && $('#id_blz').length == 8 && $('#id_account_owner').length > 3 && $('#id_account_number').length == 22 && $('#id_bank_name').length > 3){

        $('#open').removeAttr('disabled');
        $('#open').attr('onclick','javascript:yourFunctionName();');
    }
    else{
        $('#open').removeAttr('onclick');
        $('#open').attr('disabled','disabled');

}
});
4

1 回答 1

0

首先,你不应该这样做:

$('#id_accept').click(function(){

所以,你需要在input'schange事件上做。

$("form input").change(function(){

此外,您还没有将作业包装在里面$(document).ready(),而且您有两种表格。

而且,您必须以这种方式检查复选框值:

$('#id_accept').prop("checked");

另一个错误是你不应该这样使用.length,而应该是:

$('#id_blz').val().length

最终代码:

$(document).ready(function(){
$('form input').blur(function(){
    if($('#id_accept').prop("checked") && $('#id_blz').val().length == 8 && $('#id_account_owner').val().length > 3 && $('#id_account_number').val().length == 22 && $('#id_bank_name').val().length > 3){
        console.log("passed");
        alert($('#id_blz').length);
        $('#open').removeAttr('disabled');
        $('#open').attr('onclick','javascript:yourFunctionName();');
    }
    else{
        console.log("failed");
        $('#open').removeAttr('onclick');
        $('#open').attr('disabled','disabled');

}
});
});

小提琴:http: //jsfiddle.net/7zMRM/2/

于 2013-01-31T11:23:52.040 回答