Woocommerce 2.6.2 добавляет отключенный атрибут в кнопку обновления корзины

javascript php jquery wordpress

5041 просмотра

5 ответа

6639 Репутация автора

Я использую 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>

но ни одно из решений не удаляет отключенный атрибут.

Автор: Christophvh Источник Размещён: 19.07.2016 09:23

Ответы (5)


1 плюс

261 Репутация автора

Решение

Вы можете попробовать ниже код

jQuery(document).ready(function() {
jQuery( '.shop_table.cart' ).closest( 'form' ).find( 'input[name="update_cart"]' ).removeProp( 'disabled');
  });
Автор: pallavi Размещён: 19.07.2016 12:42

2 плюса

21 Репутация автора

У меня была такая же проблема. Я думаю, что мой способ его решения не самый лучший, но он должен работать, пока мы ждем патч, так что вы можете его услышать.

Войти в

WP-содержание / плагины / WooCommerce / активы / JS / интерфейс / cart.min.js

Это немного сбивает с толку, но вы можете искать

.prop ( "отключено",! 0)}, input_changed

Измените ! 0 на ! 1

Сохраните и загрузите файл после этого кнопка должна снова работать нормально. Есть одна проблема - функция, которая включает кнопку после изменения, была удалена, кнопка теперь всегда включена. Это как я сказал, что временное решение после патча не должно быть необходимости в дальнейших изменениях.

Встречает Лукаса

Автор: Lukas Размещён: 20.07.2016 07:19

1 плюс

11 Репутация автора

Если вы хотите включить кнопку после изменения количества продуктов, вы можете сделать что-то вроде этого:

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

где элемент .control-prod - это то, где вы меняете количество товаров. Вы также можете использовать изменение клика.

Автор: Willow Wallace Размещён: 28.07.2016 04:53

0 плюса

6 Репутация автора

Этот код работает для меня:

jQuery (окно) .on ('загрузка', функция () {
 jQuery ('.shop_table.cart') .find ('input [name = "update_cart"]') .prop ("отключено", false);
});
Автор: Ankur Размещён: 28.10.2016 12:57

-1 плюса

1 Репутация автора

Идеальное решение от Уоллеса! Но на самом деле у него был недостаток в том, что он удалил свойство «disabled» только после двух кликов. Я обновил код, чтобы он работал каждый раз, когда вы нажимаете + или -

Добавьте это в header.php между тегами head:

<script>
    $(document).on("click",".bw-quantity", function (e) {
        $('input[name="update_cart"]' ).removeProp( 'disabled');
    });
</script>
Автор: PaulPrada Размещён: 12.11.2016 04:43
Вопросы из категории :
32x32