Есть задача передать данные из input в переменную для дальнейшей обработки без использования submin и перезагрузки страницы. Делаю на Ajax, однако, не работает.
Код формы:
<form action="<?php echo(esc_url($product->add_to_cart_url())); ?>" class="cart" method="post" enctype="multipart/form-data">
<button class="qty-minus" type="button" value="-" onClick="change('qty-val',0,10, -1);"><i class="fa fa-minus" aria-hidden="true"></i></button>
<input id="qty-val" type="text" step="<?php echo esc_attr($step); ?>" <?php if (is_numeric($min_value)) : ?>min="<?php echo esc_attr($min_value); ?>"<?php endif; ?> <?php if (is_numeric($max_value)) : ?>max="<?php echo esc_attr($max_value); ?>"<?php endif; ?> name="<?php echo esc_attr($input_name); ?>" value="<?php echo esc_attr($input_value); ?>" title="<?php _ex('Qty', 'Product quantity input tooltip', 'styled-store') ?>" class="input-text qty text" size="4" />
<button class="qty-plus" type="button" value="+" onClick="change('qty-val',0,10,1);"><i class="fa fa-plus" aria-hidden="true"></i></button>
</form>
Скрипт:
function change(objName, min, max, step) {
var obj = document.getElementById(objName);
var tmp = +obj.value + step;
if (tmp<min) tmp=min;
if (tmp>max) tmp=max;
obj.value = tmp;
jQuery.ajax({
url : window.location,
type: 'POST',
data: {qty : obj.value},
success: function(data){
alert(data)
}
});
}
success возвращает вместо числа из формы исходный код страницы (см. скрин)