在 AJAX 请求后填充 Django 表单

Posted

技术标签:

【中文标题】在 AJAX 请求后填充 Django 表单【英文标题】:Populating Django form after AJAX request 【发布时间】:2011-12-11 02:19:20 【问题描述】:

我正在开发一个基于 django book 示例的 django 应用程序。我在表格中显示了一个图书数据库,当您单击图书时,它会将您带到“/editbook/bookname”,其中显示了一个 ModelForm。

我想转而在表格上方的模式对话框中显示表单 - 这意味着模式对话框代码已经在模板上就位(简化!)

<div id="modal">
    form.as_table
</div>

当用户选择一本书时,页面加载,然后向“/editbook/bookname”发出AJAX请求;显然表单不会显示,因为在发出请求时页面已经呈现 - 我如何适当地更新页面以便在发出请求后实际呈现表单?

谢谢

【问题讨论】:

不知道你在问什么。为什么不能简单地使用 javascript 将表单插入到 div 中? 苦苦思索如何使用 javascript 请求表单(包括实例)。谢谢 【参考方案1】:

大多数模态窗口实现,如 jqModal、jQueryUI、Fancybox 等,都允许您将内容加载到 iFrame 中的模态窗口中。

您可以创建一个视图,其中包含您在模式中加载到 iFrame 中的表单并从那里开始。这是我在多个 Django 项目中多次使用的模式。

【讨论】:

我仍然需要根据表格中选择的实例请求获取表单吗? 当然。您需要检索正在编辑的实例的参数只是 iFrame 的 src 属性的一部分。

以上是关于在 AJAX 请求后填充 Django 表单的主要内容,如果未能解决你的问题,请参考以下文章

基于 Web 请求预填充 Django 表单

使用 AJAX 动态填充的选择框不会在表单提交时发布

使用 ajax 调用填充文本字段

发生验证错误后,如何使用 PrimeFaces AJAX 填充文本字段?

使用 ajax 和 jquery 从数据库中动态添加预先填充的表单

使用复选框使用 AJAX 填充 rails 表单