我有一个Django应用程序,显示选择项目中的项目列表。当用户更改所选项目时,我使用AJAX将表单(使用Django的表单和formset帮助程序)插入页面上的“内容”部分以编辑该项目的数据。
我想要做的是,当用户点击表单上的“保存”按钮时,Javascript函数会发送POST数据,就像表单已提交一样,然后再次使用AJAX重新注入新数据页面。
我想始终保持一个干净的URL,但总是返回到您正在编辑的条目(因此更换了AJAX HTML)。
我宁愿不必抓取所有表单字段并重新构建我的Django Forms可以正确识别的字符串。
有办法做到这一点吗?我是不是错了?
答案 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) {
...
});
});