2016-07-19 4 views
1

Я использую Wordpress 4.5.3 и Woocommerce 2.6.2.Woocommerce 2.6.2 добавляет отключенный атрибут для обновления кнопки корзины

Код внутри WooCommerce/корзина/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/"> 

Так странно то, что внутри поля ввода добавляется 'отключено' атрибут. Когда я удаляю отключенное значение с помощью инструментов разработчика, я могу нажать кнопку, и тележка обновится правильно.

Так я хочу, чтобы удалить этот атрибут, то, что я пробовал:

ПОПЫТКА 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> 

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

+0

вы пытаетесь JQuery ('# update_cart_button') removeAttr ("отключено «); ? –

+0

@ DanilPyatnitsev да, это также не удаляет его – Christophvh

ответ

1

Вы можете попробовать ниже code-

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

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

Перейти в

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

Его немного запутанным, но вы можете искать

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

Изменить ! 0 в ! 1

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

Greets Lukas

+1

это работает, но я предпочитаю решение @pallavi, так как он не сломается при обновлении woocommerce. – Christophvh

+0

Это единственное, что работает для меня, потому что обновление ajax делает другие пути недоступными :( – Genaut

1

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

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

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

0

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

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

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

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

<script> 
    $(document).on("click",".bw-quantity", function (e) { 
     $('input[name="update_cart"]').removeProp('disabled'); 
    }); 
</script> 
Смежные вопросы