我有一个看起来像这样的网页
<html> <head> <title>File Upload Click Test</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> </head> <body> <div onclick="$('input[type=file]').click()" >CLICK SIMULATOR</div> <input type="file"></input> </body> </html>
我的目标是让 div 在 文件输入_上引发click事件,这似乎完全符合我在IE和Chrome中的预期,但在Firefox中不起作用(当您单击Firefox时未打开文件浏览器) _div)。
有没有办法让它在FF中工作?
不,它在大多数常见版本的IE中也不起作用。IE将打开该对话框,但是一旦选择了该文件,该窗体将不会实际提交。
放弃希望。伪造文件上传框的唯一方法是使用透明技术,实际上根本不建议这样做,因为浏览器可能会在内部对文件上传框进行不同的布局(甚至提供不包含“浏览”对话框的文件上传控件),很有可能导致您无法使用表格。
了解喜欢灰色文件上传字段,或使用渐进增强功能将其替换为Flash(如果可用)。