【问题标题】:How to reset all fields when adding to WooCommerce Cart添加到 WooCommerce 购物车时如何重置所有字段
【发布时间】:2018-03-28 08:02:30
【问题描述】:

我正在使用 WooCommerce 开发一个网站,并使用插件 Product Addons 为所购买的商品添加额外的文本字段(姓名、电子邮件地址、电话号码等)。当有人点击“添加到购物车”时,网站当前会将产品添加到购物车,刷新页面,但之前的数据仍保留在字段中。添加产品后,我想重置所有字段并使其为空。

我试过使用这个功能:

( function($) {
    $( document.body ).on( 'added_to_cart', function() { 
            $('input').val('');  } 
        );
} ) ( jQuery );

有什么建议吗?

【问题讨论】:

标签: wordpress woocommerce


【解决方案1】:

如果页面从字面上刷新,那么它根本不是标准的。这样做只是为了更新菜单右上角的迷你购物车,并且产品正在通过 ajax 添加。在这种情况下,您不能清空某些事件的所有字段,因为页面正在刷新,您要做的就是在 document.ready 函数下编写代码,在公共类或输入上执行 $.each 函数并清空输入字段。

【讨论】:

  • 抱歉,不确定您的意思。页面不会自行刷新,只有在有人单击“添加到购物车”按钮时才会刷新。
  • 当您单击普通 woocommerce 上的普通添加到购物车按钮时,它会发布产品数据并通过表单将产品添加到购物车,但在您的情况下,只要您单击添加到购物车按钮,产品就会通过 ajax 添加到购物车,成功后您的 javascript 正在重新加载页面。这就是我刷新或重新加载页面的意思。
【解决方案2】:

在你的插件或主题functions.php文件中尝试这个动作钩子

add_filter( 'woocommerce_checkout_get_value', 'misha_clear_checkout_fields_vals' );

function misha_clear_checkout_fields_vals($input){
        return '';
}

【讨论】:

  • 嗯。这似乎不起作用。我确实在寻找一个钩子,谢谢,但是这个并没有清空字段。也许是因为这些字段是从插件生成的,而不是从 Woocommerce 本身生成的。这些字段的名称如下:name="addon-484-last-name-3[0]" 等等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-18
  • 2014-02-25
  • 2015-10-10
  • 2021-07-26
  • 2018-05-08
相关资源
最近更新 更多