我正在使用serialize()
函数来获取表单中的所有字段。在极少数情况下,客户打电话说保存购物车后只剩下一件商品。在调查之后,事实证明,对于某些用户,serialize()
函数仅提交名为items[ITEMNUM] = qty
的最后一个项目数组。
HTML:
<form id="cartitems" action="self">
<table width="98%" border="0">
<tr>
<td style=" font-size:.9em;">title</td>
<td width="30"> <input name="items[AH33.3600]" class="qty" value="1" /></td>
<td width="30" nowrap="nowrap" style="padding-right:10px; border-bottom:1px solid #CCC;">Total</td>
</tr>
<tr>
<td style=" font-size:.9em;">title</td>
<td width="30"> <input name="items[PNP-A00SVR30]" class="qty" value="1" /></td>
<td width="30" nowrap="nowrap" style="padding-right:10px; border-bottom:1px solid #CCC;">Total</td>
</tr>
<tr>
<td style=" font-size:.9em;">title</td>
<td width="30"> <input name="items[A4882+++++107+5X12]" class="qty" value="1" /></td>
<td width="30" nowrap="nowrap" style="padding-right:10px; border-bottom:1px solid #CCC;">Total</td>
</tr>
</table>
</form>
JavaScript:
var subform = $("#cartitems").serialize();
$.ajax({
beforeSend: function() {
$('#cartitems').slideUp().queue(function() {
$(this).dequeue();
$('#cartitems').html(' Please wait... Cart Loading').show();
});
},
url: "/order/ajax/cart",
type: "POST",
cache: false,
data: subform,
dataType: "html",
success: function(html){
alert('info saved');
}
});
我采访过的最新客户使用的是Firefox 7.
有没有人看到问题?