【发布时间】:2011-06-08 17:07:54
【问题描述】:
我有一个带有文件选择字段的表单。如果用户提交了表单,但其中一个字段有问题,最好让文件选择字段“重新填充”之前的选择。我相当肯定,由于浏览器安全策略,这是不可能的,但也许有一种我不知道的解决方法。
【问题讨论】:
标签: javascript html security forms file-upload
我有一个带有文件选择字段的表单。如果用户提交了表单,但其中一个字段有问题,最好让文件选择字段“重新填充”之前的选择。我相当肯定,由于浏览器安全策略,这是不可能的,但也许有一种我不知道的解决方法。
【问题讨论】:
标签: javascript html security forms file-upload
<input type="file" ... /> 字段基本上是 JavaScript 甚至 CSS 无法触及的。它的属性很少是可读或可写的,只有某些部分是可样式化的。
最多你可以做一个javascript:history.go(-1) 并希望表单仍然被缓存,但是你失去了可靠地显示错误消息的能力。
在任何情况下,任何允许输入任意数据(如上传文件路径)的能力都将被破坏,因此被硬锁定。
【讨论】:
出于安全原因,不能这样做。如果 JS 或 HTML 可以设置文件路径,那么任何网页都可以创建一堆不可见的文件上传框,并从您的硬盘中窃取文件。在你不知情的情况下。
编辑:实际上,Firefox 有一个选项可以在 about:config 中启用它。但是默认是禁用的,其他浏览器AFAIK没有这个选项,所以没关系。
此外,您也许可以使用 Flash 来实现这一点——它可以创建一些比普通 HTML/JS 更高级的上传框,但我不确定它是否有这样的限制。您可能想查看SWFUpload。
【讨论】: