関数を使用してserialize()
、フォーム内のすべてのフィールドを取得しています。まれに、カートに保存した後に商品が 1 つしか残っていないというお客様からの電話があります。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 を使用していました。
誰かが問題を見ますか?