各行にアドレスとその他のデモ情報を含む大きなテーブルがあります。更新されたデータを保存するために、各行にフォームと送信ボタンを追加しました。送信されると、 ajax を介して送信された HTML とフォームのコンテンツがデータに取り込まれます。問題は、一度しか機能しないことです。フォームが送信されると、データが送信され、期待どおりに入力されますが、フォームは 2 回目に送信されません。以下に骨格テンプレートがあります。ここで見たさまざまな方法で live() 関数を使用してみましたが、機能しません。
編集:結果の div #G1 を数秒後にフェードアウトさせるにはどうすればよいですか? それも機能しませんでした。
関連する JS:
$(document).ready(function () {
$("#Frm1").submit(function (event) {
var values = $(this).serialize();
$.ajax({
url: "savedata.php",
type: "post",
data: values,
success: function (msg) {
$("#G1").replaceWith(msg).fadeIn(2000);
$('#ty').html('<select name="thanks"><option value="1">Yes</option><option value="0" selected>No</option></select>');
},
});
return false;
});
});
HTML
<table id="maint">
<tr>
<td><strong><a href="mailto:" title="<p>Address:<br>1417 Apt 38<br>NY<p>Phone:4253455550</p>" id="1_pop">Bpbb BB</a></strong>
</td>
<td>1</td>
<td>Cara JT</td>
<td></td>
<td>
<form id="Frm1">
<input type="hidden" id="id" name="id" value="1">
<input type="hidden" name="type" value="rsvp">
<input type="text" id="gift" name="gift" value="3">
</td>
<td id="ty"></td>
</td>
<td>
<input type="submit" id="submit" value="Save Row" />
<div id="G1"></div>
</td>
<td>
</form>
</td>
</tr>
あなたの助けに感謝します!