【发布时间】:2011-03-13 14:44:48
【问题描述】:
我有一个 Django ModelForm,但不希望用户点击 reguar 提交按钮。 相反,我制作了自己的提交按钮,并将使用 Ajax/jQuery 发布表单数据。 要发布的数据是表单数据和我在 UI 上收集的其他信息的混合体。 但是...我如何获取 html 表单应该提交的格式化 POST 数据? 如果我能像 JSON 或 jQuery 对象一样得到它,那就更好了!
【问题讨论】:
我有一个 Django ModelForm,但不希望用户点击 reguar 提交按钮。 相反,我制作了自己的提交按钮,并将使用 Ajax/jQuery 发布表单数据。 要发布的数据是表单数据和我在 UI 上收集的其他信息的混合体。 但是...我如何获取 html 表单应该提交的格式化 POST 数据? 如果我能像 JSON 或 jQuery 对象一样得到它,那就更好了!
【问题讨论】:
您可以为此使用jQuery.serialize(),然后您可以将其作为jQuery.post() 的第二个参数传递。
$('#formid').submit(function() {
$.post('serverUrl', $(this).serialize(), callbackFunction);
return false;
});
或者,您也可以为此使用jQuery Form plugin,这会使事情变得更容易。
【讨论】:
$(this).serialize() 放入一个 javascript 对象中,然后手动向其中添加字段; 2. 真的,没有。 $.post是AJAX提交,return false表示不执行表单的默认提交动作。
var data = $(this).serialize(); data.param1 = 1; 的事情。 return false; 应该阻止表单的默认操作。
return false;,不是它不会提交!我正在发布这样的内容...$.param(myparams) + "&" + $('#form_id').serialize();。谢谢!!