在更新之前等待输入

时间:2013-03-03 20:44:58

标签: javascript jquery

我正在使用这种卡验证器脚本,工作正常:

$('#card-number').validateCreditCard(function (result) {
    if(!(result.card_type != null)) {
        $('.card-issuer li').removeClass('selected');
        $('#card-number').removeClass('valid invalid');
        return;
    }
    $('.card-issuer li').removeClass('selected');
    $('.card-issuer li.' + result.card_type.name).addClass('selected');

    //----------- Field to identify Card Type ------------//
    $("#hdnCardType").val(result.card_type.name);

    if(result.length_valid && result.luhn_valid) {
        return $('.card-number').removeClass('invalid').addClass('valid');
    } else {
        $('.card-issuer li').removeClass('selected');
        return $('.card-number').removeClass('valid').addClass('invalid');
    }
});

..但是在用户键入16位数之前它会添加无效类,我可以让它等到用户输入至少14位数字吗?

1 个答案:

答案 0 :(得分:0)

我假设你每次用户输入一个新角色时都在调用validateCreditCard函数?如果是这种情况,请至少在14个字符之前检查它。

} else {
       if (document.getElementsByClassName('.card-number')[0].value.length >= 14) {
            $('.card-issuer li').removeClass('selected');
            return $('.card-number').removeClass('valid').addClass('invalid');
       }
}