提交后如何使表单域为空

Posted

技术标签:

【中文标题】提交后如何使表单域为空【英文标题】:How to make form field blank after submitting 【发布时间】:2015-06-02 21:12:28 【问题描述】:

我有一个 Django 表单,其中包含许多可以编辑的字段。提交当前表单后,再次打开表单会使用其最近提交的值填充表单字段。

我有一个字段“reason_for_change”,我希望每次打开提交的表单时都留空。

基本上,当用户重新打开要编辑的表单时,我希望重新填充除“reason_for_change”之外的所有字段。我希望它是空白的,这样用户就不会意外地重新提交相同的“reason_for_change”。

我不确定在哪里执行此操作。我尝试强制“reason_for_change”模板的 html 模板值等于 '',但这不起作用。

有什么建议吗?

【问题讨论】:

【参考方案1】:

您可以使用空字符串更新表单的数据。 QueryDict 的唯一问题是不可变的,因此您必须在将 request.POST 传递给表单之前复制它:

form = MyForm(request.POST.copy())
if form.is_valid():
    ...
    return redirect(...)
form.data['reason_for_change'] = ''

【讨论】:

以上是关于提交后如何使表单域为空的主要内容,如果未能解决你的问题,请参考以下文章

提交后表单不为空字段

提交表单后 $_FILES 为空 [重复]

asp中如何判断表单内容不能为空?

请求参数为空,在提交带有图像的表单数据 AJAX 后

如何验证jsp表单提交不为空

判断字符串为空为 null 为 whitespace 工具类