【问题标题】:Stripe.validateCardNumber not returning trueStripe.validateCardNumber 不返回 true
【发布时间】:2013-04-22 00:45:45
【问题描述】:

我目前正在使用 Stripe 作为支付网关制作结帐表单。我正在使用 Stripe.js 客户端验证功能来验证卡信息输入。问题是我似乎无法让函数返回 true,即使在输入应该返回 true 的值时,例如 4242424242424242。

这是相关的sn-p代码:

var error=false;

var cc_number=$('#cc_number').val(),
    cc_exp_month=$('#cc_exp_month').val(),
    cc_exp_year=$('#cc_exp_year').val(),
    cc_cvc=$('#cc_cvc').val();

$('#cc_number_error').hide();
$('#cc_exp_error').hide();
$('#cc_cvc_error').hide();

$('#cc_number').keyup(function(){
    if(!Stripe.validateCardNumber(cc_number)){
        error=true;
        $('#cc_number_error').show();
    }
    else{
        error=false;
        $('#cc_number_error').hide();
    }
    $('.address_f_name').val(error);
});

我总能设法让验证方法返回 false,但永远不会返回 true。

我的代码肯定有问题,因为我是编程初学者。任何帮助,将不胜感激。谢谢!

【问题讨论】:

    标签: jquery stripe-payments


    【解决方案1】:

    问题是您在创建事件处理程序时被cc_number=$('#cc_number').val() 捕获。该值永远不会改变,并且不会在调用处理程序时反映表单字段的实际值。而不是说:

    Stripe.validateCardNumber(cc_number)
    

    你应该说

    Stripe.validateCardNumber($('#cc_number').val())
    

    【讨论】:

    • 这是我的一个大错误。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2023-02-16
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多