此代码重新加载整个页面,而不是每隔一段时间简单地替换#form
元素。有人可以建议修复,以便仅更换#form
并且不重新加载整个页面吗?
jQuery的:
$("#login").submit(function() {
$.post($(this).attr("action"), $(this).serialize(), function(html) {
var htmlString = (new XMLSerializer()).serializeToString(html);
$("#form").replaceWith(htmlString);
$("html, body").animate({
scrollTop: $("#message").offset().top
}, 500);
});
return false;
});
HTML:
<div id="form">
<form id="login" action="submit.php" method="post">
<input type="text" name="name">
<button type="submit">Submit</button>
</form>
</div>
在我看来,replaceWith()不会消除绑定,但也许它会消除绑定。 。
答案 0 :(得分:3)
在我看来,replaceWith()不会覆盖绑定,但也许它会覆盖绑定。 。
固有
您将事件绑定到DOM节点,然后用其他东西(没有绑定)替换该DOM节点。
尝试.live
自动重新绑定 (想不出更好的术语)与给定选择器匹配的DOM节点的事件处理程序,< em>在任何时候这种匹配都会存在。
答案 1 :(得分:0)
您的表单有一个id属性表单 <div id="forms">
但您的jquery选择器定位表单 $("#form").replaceWith(htmlString);