我可以截取表单提交数据以与AJAX一起使用吗?

时间:2013-08-28 20:46:23

标签: javascript ajax django forms django-forms

我有一个Django应用程序,显示选择项目中的项目列表。当用户更改所选项目时,我使用AJAX将表单(使用Django的表单和formset帮助程序)插入页面上的“内容”部分以编辑该项目的数据。

我想要做的是,当用户点击表单上的“保存”按钮时,Javascript函数会发送POST数据,就像表单已提交一样,然后再次使用AJAX重新注入新数据页面。

我想始终保持一个干净的URL,但总是返回到您正在编辑的条目(因此更换了AJAX HTML)。

我宁愿不必抓取所有表单字段并重新构建我的Django Forms可以正确识别的字符串。

有办法做到这一点吗?我是不是错了?

1 个答案:

答案 0 :(得分:4)

要获取整个表单并使用AJAX发送它,请执行类似这样的操作(假设是jQuery):

jQuery('form').submit(function (event) {
    event.preventDefault();
    var form = jQuery(this);
    var data = form.serialize();

    jQuery.post(form.attr('action'), data, function(html) {
        ...
    });
});