【发布时间】:2016-10-21 06:41:57
【问题描述】:
我尝试使用一个提交按钮将产品添加到订单购物车。
表单示例(其他表单相同,只是表单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>
所以,页面上可以有不同数量的表格。我选择一个产品,输入数量,然后使用“添加到购物车”按钮提交所有表单。
我尝试提交 6 个表单(产品)几次,但每次都添加了 5 个产品(但不是 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 - 形成数量已更改的 ids 数组。如果id="basic-cart-add-to-cart-quantity-form-37",在idArr 中我输入了37。我检查了idArr,我有正确的ID。如何解决?
【问题讨论】:
-
当您推送添加到汽车时,您希望页面中的所有项目都提交表单吗?这有可能吗,你为什么要这么做?
-
@madalin,例如我有 10 个表格。然后我输入了 6 个输入数量。之后我按下添加到购物车按钮。按顺序应该是 6 个产品,但我有更少。
-
你不能同时提交 10 个,哈哈 :))
-
我不想提交10个表格,只在我改变数量的地方
-
您一次只能提交一份表格,请参阅@Justinas 回答