我有一个大表,每行都有地址和其他演示信息。我已经为每一行添加了一个表单并提交了按钮以保存更新的数据。提交时,数据中的数据将填充HTML,并通过ajax发送表单内容。 问题是,它只能工作一次。如果表单已提交,则会发送数据并按预期填充,但不会再次发送表单。我在下面有一个骨架模板。我尝试过以我在这里看过的各种方式使用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>
感谢您的帮助!
答案 0 :(得分:-1)
尝试将return false
替换为event.preventDefault();
修改强> 对于认为这是一个错误答案的人,请阅读:http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/