我有一個大表,每個行都有地址和其他演示信息。我已經添加了一個表單並向每一行提交按鈕以保存更新的數據。提交時,a中的數據將填充HTML,並通過ajax發送表單內容。 問題是,它只能使用一次。如果表單已提交,它將發送數據並按預期填充,但表單不會再次發送。下面我有一個骨架模板。我試過用我在這裏看到的各種方式使用live()函數,但我無法讓它工作。Ajax只提交一次
編輯:我怎麼能讓結果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>
您的幫助表示讚賞!
'.live()'是早已過時的,並從取出最新版本。查找['.on()'](http://api.jquery.com/on)。 – JJJ
你正在完全取代'#G1'元素。如果使用'.replaceWith',你可能想使用'.text'或'.html'。 – mekwall
謝謝Juhana。這很好,加上preventDefault。我仍然很難讓div淡出。我添加了.html,但是我得到一個錯誤,指出毫秒未定義,指的是淡出()。我試圖用淡出(1600,「慢」)但沒有去。 – user2558042