jQuery& replaceWith():每隔一段时间重新加载一次页面

时间:2011-06-14 20:48:17

标签: javascript jquery

此代码重新加载整个页面,而不是每隔一段时间简单地替换#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()不会消除绑定,但也许它会消除绑定。 。

2 个答案:

答案 0 :(得分:3)

  

在我看来,replaceWith()不会覆盖绑定,但也许它会覆盖绑定。 。

固有

您将事件绑定到DOM节点,然后用其他东西(没有绑定)替换该DOM节点。

尝试.live 自动重新绑定 (想不出更好的术语)与给定选择器匹配的DOM节点的事件处理程序,< em>在任何时候这种匹配都会存在。

答案 1 :(得分:0)

您的表单有一个id属性表单 <div id="forms">

但您的jquery选择器定位表单 $("#form").replaceWith(htmlString);