javascript — php jquery ajax jquery & gt; чем не работает должным образом

У меня есть форма, где подтверждается с помощью кода ниже:

function add_to_cart(){
jQuery('#modal_errors').html("");
var quantity = jQuery('#quantity').val();
var available=jQuery('#available').val();
var error='';
var data = jQuery('#add_product_form').serialize();
if(quantity==''||quantity==0){
error+='<p class="text-danger text-center">You must enter a quantity which is greater than 0!!! To set an order to 0 kindly visit your cart!!!</p>';
jQuery('#modal_errors').html(error);
return;
}else if(!(quantity < available)){
error += '<p class="text-danger text-center">There are only '+available+' available, kindly enter a number equal or smeller than availability!!!</p>';
jQuery('#modal_errors').html(error);
return;
}else{
jQuery.ajax({
url : '/aresV2/admin/parsers/add_cart.php',
method : 'post',
data: data,
success: function(){
location.reload();
},
error: function(){alert("something went wrong in cart parser!!");}
});
}}

Остальное, если заявление

((!(количество < имеется в наличии))) НОТА пытался сделать (количество> доступно) но безрезультатно

не работает должным образом, так как не принимает определенные числа для прохождения, даже если они находятся в допустимом диапазоне.

Пример Количество равно 2, а доступно 12. Количество 3 считается неправильным (что не следует рассматривать неправильно) 1
рассматривается как правильно (что правильно) и 13 как неправильно (что правильно)

Ниже показано, откуда функция jquery получает данные:

<form action="add_cart.php" method="post" data-toggle="validator" id="add_product_form">
<input type="hidden" name="product_id" value="<?= $id ;?>">

<?php if (isset($_SESSION['SBUser'])){ ?>
<div class="form-group">
<div class="col-xs-3">
<label for="quantity">Quantity:</label>
<input type="number" class="form-control" name="quantity" id="quantity" min="1">

</div><div class="col-xs-9"></div>
<p>Available: <?= $prodQty['ProdQTY'] ;?></p>
<!-- <p>Available: <?= $prodType ;?></p> -->
</div><br /><br />

<?php }else{
echo'<b>Kindly, login by clicking <a href="login.php"><u>here</u></a> to be able to add items to your shopping cart!!';

} ;?><input type="hidden" name="available" id="available" value="<?= $prodQty['ProdQTY'] ;?>">
</form>

Может кто-нибудь, пожалуйста, помогите.

0

Решение

Попробуйте, это должно работать для вас. JQuery-х .val() метод возвращает строку, т.е. "5" который плохо себя ведет, когда вы сравниваете числа.

function add_to_cart(){
jQuery('#modal_errors').html("");
var quantity = +jQuery('#quantity').val(); //added + to convert to number
var available= +jQuery('#available').val();
var error='';
var data = jQuery('#add_product_form').serialize();
if(quantity===0){
error+='<p class="text-danger text-center">You must enter a quantity which is greater than 0!!! To set an order to 0 kindly visit your cart!!!</p>';
jQuery('#modal_errors').html(error);
return;
}else if(quantity > available){
error += '<p class="text-danger text-center">There are only '+available+' available, kindly enter a number equal or smeller than availability!!!</p>';
jQuery('#modal_errors').html(error);
return;
}else{
jQuery.ajax({
url : '/aresV2/admin/parsers/add_cart.php',
method : 'post',
data: data,
success: function(){
location.reload();
},
error: function(){alert("something went wrong in cart parser!!");}
});
}}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector