嗨我有一些结帐页面的问题,当我更改页面上的付款方式自动提款结帐顺序,我想手动,使用按钮。我尝试下面的代码来禁用ajax调用,但似乎这不是一个ajax问题。woocommerce防止结账交付付款方式提交
function script_disabled()
{
wp_dequeue_script('wc-checkout');
}
add_action('wp_enqueue_scripts', 'script_disabled');
嗨我有一些结帐页面的问题,当我更改页面上的付款方式自动提款结帐顺序,我想手动,使用按钮。我尝试下面的代码来禁用ajax调用,但似乎这不是一个ajax问题。woocommerce防止结账交付付款方式提交
function script_disabled()
{
wp_dequeue_script('wc-checkout');
}
add_action('wp_enqueue_scripts', 'script_disabled');
关于您对问题的描述有些不太正确。使用单选按钮更改付款方式不应该自动提交订单。在我的安装中,此操作仅显示或隐藏付款方式的相应窗格。显示的窗格实际上有提交订单的按钮。下面的代码是防止提交AJAX调用的jQuery事件处理程序。然而,我不认为这是你的问题的正确解决方案。您描述的行为不是WooCommerce结帐页面应如何工作。至少,它在我的安装中不会有这种表现,这对于结账页面来说非常标准。
jQuery('form.checkout').on('checkout_place_order', function() {
var $payment_method = jQuery('form.checkout input[name="payment_method"]:checked').val();
if (/* your condition, e.g. "$payment_method == 'paypal'" */) {
// prevent the submit AJAX call
alert('submit cancelled!');
return false;
}
// allow the submit AJAX call
return true;
});
我不会使用这个解决方案,因为我认为别的是错的。
感谢您的回复。我认为我在这个插件https://es.wordpress.org/plugins/woo-update-cart-on-quantity-change/中发现了问题。当我将选择器从jQuery('body')。delegate(“。cart_item .qty”)更改为$(“。cart_item .qty”)时,没有提交结帐表单,我要将此问题报告给插件developpers – efirvida
在checkout.js中,在提交订单前触发了事件处理程序。这些事件是'checkout_place_order'和'checkout_place_order_'+ wc_checkout_form.get_payment_method()。如果此事件处理程序的最后一个返回false,则不会提交订单。 –
@MagentaCuda,那我该怎么办? – efirvida