【发布时间】:2012-07-25 22:28:17
【问题描述】:
我有一个包含文件字段的表单来上传一些文件。 有时会发生什么,一开始,我从浏览中选择一个文件来上传,但后来我意识到我不想再上传它了。我怎样才能让它再次为空? 是不是这个字段填了就不能回空了??
提前致谢
【问题讨论】:
标签: django django-forms filefield django-uploads
我有一个包含文件字段的表单来上传一些文件。 有时会发生什么,一开始,我从浏览中选择一个文件来上传,但后来我意识到我不想再上传它了。我怎样才能让它再次为空? 是不是这个字段填了就不能回空了??
提前致谢
【问题讨论】:
标签: django django-forms filefield django-uploads
如果您尝试发布未经验证的表单,当您重新呈现表单时,文件字段将为空。
请参阅此问题以获取更多说明。 Django Form File Field disappears on form error
以下内容对我有用。在您的 html 中添加一个清除按钮
<input type="submit" name = "submit-clear" value="clear file">
然后在您的视图中使用...处理此按钮。
if 'submit-clear' in request.POST:
return HttpResponseRedirect('')
这应该清除所有文件字段,但也会删除用户所做的任何其他设置,如果您想保留其他设置并仅删除文件字段,请确保表单不会以某种方式验证以便再次呈现。
【讨论】:
这可以用javascript来完成。
引用来自electrictoolbox.com 的Clear upload file input field with jQuery 帖子:
函数 reset_html(id) { $('#'+id).html($('#'+id).html()); }
$(document).ready(function() {
var file_input_index = 0; $('input[type=file]').each(function() { file_input_index++; $(this).wrap('<div id="file_input_container_'+ file_input_index+'"></div>'); $(this).after('<input type="button" value="Clear" onclick="reset_html(\'file_input_container_'+ file_input_index+'\')" />'); });
});
【讨论】: