是否可以使用用户先前选择的内容重新填充文件选择表单字段

时间:2011-01-13 18:54:55

标签: javascript html security forms file-upload

我有一个带有文件选择字段的表单。如果用户提交表单,但其中一个字段存在问题,那么将文件选择字段与前一个选项“重新填充”会很好。我很确定,由于浏览器安全策略,这是不可能的,但也许有一个我不知道的解决方法。

2 个答案:

答案 0 :(得分:4)

<input type="file" ... />字段基本上是Javascript甚至CSS都无法触及的。很少有它的可读性或可写性,只有它的某些部分可以设置。

最多你可以做javascript:history.go(-1)并希望表单仍然被缓存,但是你失去了可靠地显示错误信息的能力。

在任何上下文中,任何能够输入任意数据(如上传文件路径)的能力都会被破坏,因此它会被锁定。

答案 1 :(得分:2)

出于安全原因无法做到这一点。如果JS或HTML可以设置文件路径,任何网页都可能会创建一堆不可见的文件上传框,并从硬盘中创建文件。没有你知道。

编辑:实际上,Firefox有一个选项可以在about:config中启用它。但它默认是禁用的,而其他浏览器AFAIK没有此选项,因此它无关紧要。

此外,您可以通过Flash实现这一点 - 它可以创建一些比纯HTML / JS更高级的上传框,但我不确定它是否有这样的限制。您可以查看SWFUpload