php - 您能否在使用 PHP 或 JavaScript 提交表单失败后重新填充文件输入?

标签 php javascript forms file-upload input

好的,这是场景:

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

问题:

是否可以使用用户最初选择的文件的路径重新填充文件输入。 PHP 解决方案是理想的,但我也愿意接受 JavaScript 解决方案。

最佳答案

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

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

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

关于php - 您能否在使用 PHP 或 JavaScript 提交表单失败后重新填充文件输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842571/

相关文章:

javascript - 将列表项随机分配给列

javascript - 如何使用face-api获取视频中的人脸位置检测?

javascript - 将 li 附加到 ul 时遇到问题

javascript - jQuery 获取具有特定参数的子元素数量

php - 学说 2 : Polymorphic Queries: Searching on properties of subclasses

php - 按对象中的日期对对象数组进行排序

php - 使用 json_encode 将数组从 PHP 传递到 JavaScript 显示空值

java - Spring不支持请求方法 'POST'

php - 使用 GET 获取正确的 URL

php - 即使通过我的 PHP 脚本获得成功 1 后也无法在 android 中发送推送通知