我有一个html表单,其中包含一些文本输入和一个文件输入(图像徽标)。
现在,当用户点击提交按钮[client-> server(php) - > client]时,如果其中一个文本输入有错误(例如长度无效),则文件输入的内容被清除,这很烦人!
当页面提交错误时,我将其他文本输入设置为最后一个值,但我不能使用文件输入。我试图用document.getElementsByName('logo')[0].value;
设置文件输入值以将其设置为隐藏值,但我得到了路径“C:\ fakepath \ random-0690.JPG”......这太令人震惊了,我知道它的用途出于安全考虑,但令人震惊......
我如何解决这个问题?感谢。
答案 0 :(得分:0)
这是不可能的。您无法远程将文件输入的值设置为基本安全措施。如果可以,那么执行<input type="file" value="/etc/passwd" name="pwn3d" />
并从用户的计算机中窃取您想要的任何文件都是微不足道的。
根本没什么可震惊的。与它一起生活,或者享受你的文件被盗。
答案 1 :(得分:0)
我找到了答案!
这很简单,我创建了一个AJAX调用,它发送表单内容并验证一切是否正常。然后,如果有错误,显示这些(它将保留表格中的值和文件附件)..否则:发送帖子表格和附件。