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

I am using Wordpress 4.5.3 and Woocommerce 2.6.2 .

Code inside 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' ); ?>

Which generates following 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/">

So the strange thing is that inside the input field the 'disabled' attribute is added. When i remove the disabled value with developer tools i can click the button and the cart is updated correctly.

So i want to remove this attribute, what i have tried:

Attempt 1

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

Attempt 2

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

Attempt 3

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

but none of the solutions remove the disabled attribute.

You can try below code-

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

I've had the same issue. I think my way to solve it is not the best but it should work for the time we wait for the patch so you may want to hear it.

Go into

wp-content/plugins/woocommerce/assets/js/frontend/cart.min.js

Its a bit confusing but you can search for

.prop("disabled",!0)},input_changed

Change the !0 into a !1

Save and upload the file after this the button should work fine again. there is one Problem the function which is enable the button after a change, has been taken out the button is now always enabled. Its like i said a temporarily solution after the patch there should be no need for further edits.

Greets Lukas

If you want to enable the button after the quantity of products is changed you can do something like this:

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

where the element .control-prod is where you change the number of products. You can also use change insted of click.

This code works for me :

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

Perfect solution by Wallace! But actually it had a flaw that it removed the 'disabled' property only after two clicks. I have updated the code so this will work eveytime you click + or -

Add this to header.php between head tags:

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