I try to add products to order cart using one submit button.
Example of form (other forms are the same which difference by form's id):
<form action="/products" method="post" id="basic-cart-add-to-cart-quantity-form-37" accept-charset="UTF-8">
<div>
<input type="hidden" name="nid" value="37">
<div class="form-item form-type-textfield form-item-quantity">
<input type="text" id="edit-quantity" name="quantity" value="0" size="5" maxlength="128" class="form-text" style="border-color: rgb(189, 159, 87);">
</div>
</div>
</form>
...
<div class="button basic-cart-add-to-cart-link">Add to cart</div>
So, on the page can be different number of forms. I choose a product, enter quantity in inputs, after that I submit all forms using "Add to cart" button.
I tried to submit 6 forms (products) few times, but every time was added 5 products (but not 6).
$(function(){
$('.basic-cart-add-to-cart-link').click(function(){
var speed = 1250;
for(var i = 1; i <= idArr.length; i++) {
setTimeout(function(y) {
var formId = 'form#basic-cart-add-to-cart-quantity-form-' + y;
var selector = formId + ' ' +'input[name="quantity"]';
var q = parseInt($(selector).val());
if(q > 0) {
saveSelectorInStorage(selector);
$(formId).submit();
}
}, speed*i, idArr[i-1]);
}
});
});
idArr
- forms ids array where quantity was changed. If id="basic-cart-add-to-cart-quantity-form-37"
, in idArr
I put 37. I checked idArr
and there I have correct ids. How to resolve it?