【发布时间】:2015-09-09 15:45:46
【问题描述】:
我有一个包含 5 个元素(三个下拉菜单、日期、文本)的表单。当我单击提交时,所有表单元素都会被重置(下拉列表被分配给第一个值,日期和文本字段变为空白)。
我明白为什么会发生这种情况 - 因为我的页面是重新生成的,静态表单的所有元素都被初始化为它们的默认值。现在,为了保留表单元素的选定值,我需要将它们分配给表单元素。我预计可以通过以下三种方式做到这一点:
选项 1
从视图中,我将选定的值返回给模板。现在在模板生成期间,我使用 django 模板的 for/if 条件(以花括号开头的条件)生成模板选项
选项 2 -- 首选
从视图中,我将选定的值返回给模板,并以某种方式将这些值传递给 javascript。之后,将是使用 getElementById 获取静态表单元素并分配值的问题。但是,我不确定如何将返回的值传递给 javascript。还是我应该在模板本身中编写脚本?
选项 3
使用缓存——最不感兴趣
你有什么建议,我应该怎么做?还有其他更好更好的第四选择吗?提交表单并保留表单值似乎是 Web 开发的重要组成部分。所以,我希望有更好的方法。
编辑:我没有使用 django 的 ModelForm。相反,我使用的是简单的 html 表单并在提交(发布)时调用视图
【问题讨论】:
标签: javascript html django forms