表单提交后jQuery部分页面刷新

时间:2010-03-18 00:42:04

标签: jquery form-submit renderpartial

当使用jQuery提交表单时,是否可以将结果页面(在提交之后)放在另一个HTML元素中?

我会尽量让这个更清楚。到目前为止,我一直在使用Callback方法,其中包括

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

每当表单更新了新信息并需要刷新时。但是,这会导致整页刷新。我正在使用jQuery实现部分页面刷新,并考虑使用类似

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

然而,这似乎不起作用,因为页面仍然完全刷新。内容是正确的,但行为似乎与以前完全相同 - 所以我不确定我想要的是否真的可以使用jQuery。任何提示和指示都会有所帮助。

感谢。

2 个答案:

答案 0 :(得分: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 :(得分:1)

问题不明确。花更多时间了解jquery ajax api,找到使用jquery ajax更新dom元素的更好方法。

如果您正在谈论由于ajax调用而在dom更改后无法正常工作的事件绑定。在事件api中引用Jquery live / die方法。