WooCommerce和jQuery支付

WooCommerce和jQuery支付,woocommerce,payment-gateway,Woocommerce,Payment Gateway,我正在尝试验证一个定制的信用卡表单,在提交结帐表单后,它实际上与WooCommerce捆绑在一起 首先,如果我将脚本排在head中,那么在DOM准备好使用AJAX后,WooCommerce加载网关时,格式化/验证根本不起作用。如果我将代码内联,则格式字段有效,但验证无效。这是我的密码: jQuery(document).ready(function($) { // Format Card Number, Expiry Date and CVV $('#pld-ccnum').p

我正在尝试验证一个定制的信用卡表单,在提交结帐表单后,它实际上与WooCommerce捆绑在一起

首先,如果我将脚本排在head中,那么在DOM准备好使用AJAX后,WooCommerce加载网关时,格式化/验证根本不起作用。如果我将代码内联,则格式字段有效,但验证无效。这是我的密码:

jQuery(document).ready(function($) {

    // Format Card Number, Expiry Date and CVV
    $('#pld-ccnum').payment('formatCardNumber');
    $('#pld-ccexp').payment('formatCardExpiry');
    $('#pld-cvv').payment('formatCardCVC');

    // Validate fields before submitting the checkout form
    $("form.checkout]").submit(function( event ) {
        var valid = $.payment.validateCardNumber($("#pld-ccnum").val());
        if (!valid) {
            event.preventDefault();
            event.stopPropagation();
            $("#pld-ccnum").focus().css({"border-color":"#e54747"});
        }
    });                     

});  
我做错了什么?我将脚本从网关类外部排队

function pc_wc_pld_gayeway_enqueue() {

    if ( is_checkout() ) {

        wp_register_script( 'payline', plugins_url( 'js/payline.js', __FILE__ ), array( 'jquery-payment' ), '1.0' );
        wp_enqueue_script( 'payline' );

        wp_register_style( 'payline', plugins_url( 'css/payline.css', __FILE__ ), array(), '1.0', 'all' );
        wp_enqueue_style( 'payline' );
    }

}
add_action( 'wp_enqueue_scripts', 'pc_wc_pld_gayeway_enqueue', 15 );

原因可能是什么?

嗨,我也有类似的问题。你解决了吗?是的,我解决了。你到底在找什么?格式化卡片字段或验证?我通过连接Woocommerce的checkout\u place\u order\uuu{gateway}事件找到了一个解决方案。我需要将信用卡标记化: