кнопка увеличения не работает в magento
Я использую magento 1.8.1. Я использую magento 1.8.1 и изменил сценарии уменьшения приращения. с изменением там дизайна.
jQuery(function() {
jQuery("div.add-to-cart .qty_pan").append('<div class="inc add">›</div><div class="dec add">‹</div>');
jQuery("#plus, #minus").click(function(){
var jQueryadd = jQuery(this);
var oldValue = jQueryadd.parent().find("input").val();
var newVal = 0;
if (jQueryadd.text() == "+") {
newVal = parseFloat(oldValue) + 1;
// AJAX save would go here
} else {
// Don't allow decrementing below zero
if (oldValue > 1) {
newVal = parseFloat(oldValue) - 1;
// AJAX save would go here
}
if(oldValue == 1){
newVal = parseFloat(oldValue);
}
}
jQueryadd.parent().find("input").val(newVal);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="plus" class="btnplus">+</button>
<div class="qty_pan">
<input type="text" min="1" max="1000" name="qty" id="qty" value="1" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
</div>
<button id="minus" class="btnminus">-</button>
Теперь проблема в том, что когда я нажимаю кнопку "плюс" или "минус", количество меняется, но оно переходит прямо на страницу корзины. я не знаю, как с этим связать страницу в корзине. поэтому, пожалуйста, помогите мне.
2 answers
Поскольку тип кнопки по умолчанию - отправить, она отправит форму.Вам нужно использовать event.preventDefault()
внутри функции обработки щелчков.
jQuery("#plus, #minus").click(function(e){
e.preventDefault()
Всякий раз, когда планируется использовать дополнительный элемент кнопки , кроме основной кнопки отправки в форме, в рекомендациях говорится
Всегда указывайте атрибут type для элемента
<button>
.
Пример: Обычно используется type="button"
<button type="button">Click Me!</button>
Так что это не нарушит последующее отправление.