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

在表单提交失败后,是否可以使用PHP或JavaScript重新填充文件输入?,php,javascript,forms,file-upload,input,Php,Javascript,Forms,File Upload,Input,好的,下面是一个场景: 用户将看到包含文件输入的表单。 用户提交表单。 由于某种原因,表单未通过验证/验证。 向用户显示表单并突出显示错误。 文件输入现在为空 问题: 是否可以使用用户最初选择的文件路径重新填充文件输入。PHP解决方案是理想的,但我也对JavaScript解决方案持开放态度。我认为这里的简短答案是否定的。您不能重新填充文件上载字段。但是,您可以解决这个问题 如果选择了文件并提交了表单,则表示您已收到该文件。您可以做的是在磁盘上保留对该文件的引用,并将其放在隐藏字段中,并向用户显示

好的,下面是一个场景:

用户将看到包含文件输入的表单。 用户提交表单。 由于某种原因,表单未通过验证/验证。 向用户显示表单并突出显示错误。 文件输入现在为空

问题:


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

我认为这里的简短答案是否定的。您不能重新填充文件上载字段。但是,您可以解决这个问题

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


另一种方法是通过ajax提交表单(使用flash或iframe方法进行文件上传),或者先进行ajax调用以验证表单,然后仅在有效时按正常方式提交(因此不会重新加载表单,也不会丢失文件上传字段数据).

我解决了这个问题,让用户在提交表单之前选择upload file作为最后一个字段^^

这是Ah yes的副本。。。完全忘记了安全方面。。。将结束这个问题。人们能帮我结束这个。。。它需要更多,太聪明了@conradkdotcom^^