当前位置: 首页 > 面试题库 >

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

胡禄
2023-03-14
问题内容

好的,这是场景:

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

题:

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


问题答案:

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

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

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



 类似资料:
  • 问题内容: 注意: 我有一个网站,允许用户多次上传文件进行处理。目前,我只有一个文件输入,但是我希望能够记住用户的选择并将其显示在屏幕上。 我想知道的是在用户选择文件后,我会记住他们的选择,并重新显示输入的文件,并在重新加载页面时预先选择该文件。我所需要知道的是如何记住并重新填充文件输入。 我也欢迎不使用文件输入的方法(如果可能的话)。 我正在使用JQuery 问题答案: 好的,您想要“记住并重新

  • 本文向大家介绍PHP提交表单失败后如何保留已经填写的信息,包括了PHP提交表单失败后如何保留已经填写的信息的使用技巧和注意事项,需要的朋友参考一下 本文介绍PHP提交表单失败后如何保留填写的信息一些方法总结,其中最常用的就是使用缓存方式了,这种方法如果网速慢是可能出问题的,最好的办法就是使用ajax了。 1.使用header头设置缓存控制头Cache-control。 PHP代码如下: 2.使用s

  • 问题内容: 我正在尝试使用普通的JS或Jquery自动提交对Steemit帖子的回复。 我使用了以下JavaScript代码,但该按钮保持禁用状态,因此不允许发布回复/评论。 如何模拟文本区域上的keydown / keypress / keyup事件,以模拟用户“经典”交互以发送回复? 谢谢 目标示例:https://steemit.com/usa/@gaottantacinque/happy-

  • 问题内容: 我有一个HTML表单,可以通过ajax保存到数据库中。为了获得键/值对的查询字符串,我使用了非常方便的函数,如下所示: 现在,我想加载一个空白表格,并用数据库中的数据重新填充它,该数据是通过ajax调用作为JSON字符串传递的。我已经能够获得具有正确键/值对的Javascript对象,如下所示: 重新填写表格的最简单,最优雅的方法是什么? 请记住,表单的输入元素是文本,选择,复选框和单

  • 问题内容: 检查是否已提交表单以确定是否应将表单变量传递给验证类的最佳方法是什么? 首先我想也许是: 但这将永远返回true,因为在任何地方都定义了超全局变量。我不想用以下方法遍历表单的每个元素: 在写这个问题时,我想到了一个更基本的解决方案,同时添加一个隐藏字段作为我可以检查的标志。 有没有比添加自己的标志更“干净”的方法? 问题答案: 对于一般检查是否有动作使用: 编辑 :如评论中所述,此方法

  • 问题内容: 我正在建立一个新的由AJAX驱动的网站,其中包含不同的部分。每个部分都需要一组新的Javascript函数才能运行。我宁愿不要一开始就加载每个脚本,因为可能会有很多脚本。 有没有一种方法可以使用AJAX加载新脚本并删除旧脚本(以确保类似的变量名或函数签名不存在兼容性问题)。 谢谢 编辑 -jQuery很好,它不必是老式的Javascript 问题答案: 三件事: 1)是,您可以加载新脚