WooCommerce自定义结帐验证不起作用

时间:2019-03-22 23:14:39

标签: javascript jquery wordpress woocommerce

我目前正在尝试进行第二次(第一次)结帐验证。为此,我需要阻止标准的WooCommerce结帐验证。之前我已经用很多表格进行过操作,但是这次触发器没有响应。

我的期望:

当用户单击“下订单”按钮时,不应运行标准的WooCommerce结帐验证,并且浏览器会警告我的文本。

会发生什么:

当我单击按钮时,我看不到任何文本/警报。

我的代码:

jQuery(document).ready(function () {

    var checkoutForm = document.querySelector('.woocommerce-checkout');
    var postcode = jQuery('#billing_postcode', checkoutForm);

    if (checkoutForm != null) {
        checkoutFormValidation(checkoutForm, postcode);
    }
});

function checkoutFormValidation(checkoutForm, postcode) {

    var checkoutButton = checkoutForm.querySelector('button[type="submit"]');

    checkoutButton.addEventListener('click', function (e) {

        e.preventDefault();
        alert("Clicked!");
    });
}

我已经检查了所有内容,并且文件已包含在结帐处。所以不知道为什么这行不通。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题是,默认情况下会触发另一个验证功能。因此,如果您只想添加自定义验证而不丢失WooCommerce验证,则无法按照我尝试的方式进行。因此解决方案是使用WooCommerce验证功能:

jQuery(document.body).on("checkout_error", function () {
    alert("Clicked!");
});