2010-03-18 133 views
4

使用jQuery提交表单时,是否可以将生成的页面(在提交后)放入另一个HTML元素中?表单提交后jQuery部分页面刷新

我会尽量让这个更清楚。到现在为止我一直在使用回调方法等做了

document.forms['form'].submit(); 

每当形式已经更新了新的信息和需要刷新。但是,这会导致整个页面刷新。我执行使用jQuery部分页面刷新和使用的东西的想法一样

var newContent = jQuery('#form').submit(); 
jQuery('#div').load(newContent); 

然而,这似乎并没有工作在页面仍然是完全刷新。内容是正确的,但行为似乎与以前完全一样 - 所以我不确定是否我想要的实际上可以使用jQuery。任何提示和指针都会有所帮助。

谢谢。

回答

4

您需要做的是使用ajax方法之一来发布表单,并将输出注入success回调中的元素。例如:

$("#submit").click(function() { 
    $.post($("#form").attr("action"), $("#form").serialize(), function(html) { 
     $("div.result").html(html); 
    }); 
    return false; // prevent normal submit 
}); 

看看$.post$.ajax

1

问题尚不清楚。花更多时间理解jQuery ajax api,找到使用jquery ajax更新dom元素的更好方法。

如果您正在讨论由于ajax调用导致dom更改后无法使用事件绑定。在事件api中引用jquery live/die方法。