Woocommerce 2.6.2添加了禁用属性以更新购物车按钮

时间:2016-07-19 09:23:43

标签: javascript php jquery wordpress

我正在使用Wordpress 4.5.3和Woocommerce 2.6.2

woocommerce / cart / cart.php中的代码

 <input type="submit" class="button" id="update_cart_button" name="update_cart" value="<?php esc_attr_e( 'Update Cart', 'woocommerce' ); ?>" />

    <?php do_action( 'woocommerce_cart_actions' ); ?>

    <?php wp_nonce_field( 'woocommerce-cart' ); ?>

生成以下html:

<input type="submit" class="button" id="update_cart_button" name="update_cart" value="Winkelmand bijwerken" disabled="">
<input type="hidden" id="_wpnonce" name="_wpnonce" value="847e1da0f8">
<input type="hidden" name="_wp_http_referer" value="/winkelmand/">

所以奇怪的是,在输入字段中添加了'disabled'属性。当我使用开发人员工具删除禁用值时,我可以单击按钮并正确更新购物车。

所以我想删除这个属性,我尝试过:

尝试1

<script>
 document.getElementById('update_cart_button').disabled = false;
</script>

尝试2

<script>
 jQuery('#update_cart_button').prop('disabled', false);
</script>

尝试3

<script>
 jQuery('#update_cart_button').removeAttr('disabled'); 
</script>

但没有解决方案删除已禁用的属性。

5 个答案:

答案 0 :(得分:2)

我有同样的问题。我认为我解决它的方法并不是最好的,但它应该适用于我们等待补丁的时间,所以你可能想听听它。

进入

  

可湿性粉剂内容/插件/ woocommerce /资产/ JS /前端/ cart.min.js

它有点令人困惑,但你可以搜索

  

.prop(&#34;禁用&#34;!,0)},input_changed

!0 更改为!1

保存并上传文件后,按钮应该再次正常工作。 有一个问题是在更改后启用按钮的功能已被取出,现在该按钮始终处于启用状态。 就像我说补丁之后的临时解决方案一样,不需要进一步编辑。

电贺 卢卡斯

答案 1 :(得分:1)

您可以尝试以下代码 -

jQuery(document).ready(function() {
jQuery( '.shop_table.cart' ).closest( 'form' ).find( 'input[name="update_cart"]' ).removeProp( 'disabled');
  });

答案 2 :(得分:1)

如果要在更改产品数量后启用按钮,可以执行以下操作:

$(document).on("click",".woocommerce-cart .control-prod", function (e) {
    $( ".woocommerce-cart .control-prod" ).click(function() {
        $('input[name="update_cart"]' ).removeProp( 'disabled');
    });
});

元素.control-prod是您更改产品数量的地方。 您也可以使用点击更改。

答案 3 :(得分:0)

此代码适用于我:

jQuery(window).on('load', function() {
 jQuery( '.shop_table.cart' ).find( 'input[name="update_cart"]' ).prop("disabled", false);
});

答案 4 :(得分:-1)

华莱士的完美解决方案!但实际上它有一个缺陷,它只在两次点击后才删除了“禁用”属性。我已经更新了代码,所以这将在你点击+或 -

的时候运行

将此添加到head标签之间的header.php:

<script>
    $(document).on("click",".bw-quantity", function (e) {
        $('input[name="update_cart"]' ).removeProp( 'disabled');
    });
</script>