少し助けが必要です。壁にぶつかるまで、私のjQueryは今日スムーズに進んでいました。テキスト送信リンクまたは何らかの送信ボタンを使用して、AJAX を介してその場で複数のフォーム (個々の項目) を編集できるようにしようとしています。問題は、AJAX を介してフォームを送信することはできますが、フォームからのデータがまったくないことです...つまり、送信を押すと、リクエストは送信されますが、クエリ文字列は送信されません。誰かが不足しているものを特定するのを手伝ってもらえますか?
これが私のjqueryです:
$('.submitLineChanges').click(function() {
var formID = $(this).closest('form').attr('ID')
datastring = $(formID).serialize();
$.ajax({
type:'POST',
url: 'update_ajax.asp',
data: datastring,
success: function(response) {
alert("Success " + id)
//$('#ContactForm').find('.form_result').html(response);
}//end ajax options
});//end ajax
return false;
});//end of click function
そして私のフォーム:
<form id="line-item-<%= intRecID %>-form" class="submitLineForm">
<input type="hidden" name="UpdateLineItem" value="true" />
<span class="edit" id="edit-line-<%= intRecID %>" style="display: none;">
<span class="quantity"><input name="part_qty" id="part_qty_<%= intRecID %>" type="text" value="<%=FormatNumber(rs("quote_part_qty"),0)%>"></span>
<span class="partno"><input name="part_no" id="part_no_<%= intRecID %>" type="text" value="<%=rs("quote_part_id")%>"></span>
<span class="descrip"><Textarea name="part_descrip" type="text" id="descrip<%= intRecID %>" rows="3"><%=rs("quote_part_descrip")%></Textarea></span>
<span class="sellprice">$<input name="part_sale" id="part_sale_<%= intRecID %>" type="text" value="<%=FormatNumber(rs("quote_part_sale"),2)%>"></span>
<span class="margin" id="emargin_<%= intRecID %>"><%=margin%></span>
<span class="cost"><strong>Cost: </strong>$<input name="part_cost" id="part_cost_<%= intRecID %>" type="text" value="<%=FormatNumber(cost,2)%>"></span>
<span class="wt"><strong>Weight: </strong><input name="part_wt" id="part_wt_<%= intRecID %>" type="text" value="<%=FormatNumber(rs("quote_part_wt"),2)%>"></span>
<span class="update"><input type="button" value="Save Changes" class="submitLineChanges" /></span>
</span>
</form>
お分かりのように、私はこれを ASP で実行しています。フォームは基本的にカート内の項目ごとです。ページの性質上、すべての情報を編集するための別のページは必要ありません。これは機能するはずですが、現在の視野狭窄を通して何かを見落としている可能性があります。
フォームは行ごとにあることに注意してください。すべてのフォームを送信する必要はなく、1 つだけ送信する必要があります。
ありがとう