一尘不染

使用PHP或JavaScript提交表单失败后,是否可以重新填充文件输入?

php

好的,这是场景:

向用户显示包含文件输入的表单。用户提交表格。表单由于一个或另一个原因未通过验证/验证。系统向用户显示错误突出显示的表单。文件输入现在为空白。

题:

是否可以使用用户最初选择的文件的路径来重新填充文件输入。PHP解决方案将是理想的选择,但我也对JavaScript解决方案持开放态度。


阅读 313

收藏
2020-05-29

共1个答案

一尘不染

我认为这里的简短答案是“否”。您无法重新填充文件上传字段。但是,您可以解决它。

如果已选择文件并提交了表单,则说明您已经收到文件。您可以做的是在磁盘上保留对文件的引用,并将其放在隐藏字段中,并显示一条消息,向用户表明您仍在上传文件,因此无需替换/重新上传。当您的表单再次提交而没有文件时,您可以检查隐藏字段值,并使用该值获取上次尝试上传的文件的本地副本。

执行此操作的另一种方法是通过ajax提交表单(使用Flash或iframe方法上传文件),或者先进行ajax调用以验证表单,然后仅在正常情况下(如果有效)提交(因此不重新加载表格,文件上传字段数据不会丢失)。

2020-05-29