所以我有一个输入,如下所示:
<input type="file" id="file" />
我想通过javascript弹出文件打开对话框。我尝试过这样的事情:
$('file').click();
(假设我正在使用类似prototype / mootools / jquery的东西)。但是,这似乎没有做任何事情。无论如何我可以触发文件输入的click事件,而不会强迫用户直接与输入交互?
答案 0 :(得分:4)
我记得这是不可能的,因为它是一个安全功能。事实上,我很确定文件浏览对话框的按钮甚至没有显示在DOM中(字段显示,但不显示浏览器自动呈现的按钮)
答案 1 :(得分:3)
据我所知,打开文件打开对话框是出于安全原因而被阻止的。
答案 2 :(得分:3)
$('file').click()
这适用(在Chrome 8中)。你只需要确保它没有设置为display:none;
一个简单的解决方案是将其置于绝对位置,然后将其设置为-1000px。
答案 3 :(得分:2)
IIRC浏览器不允许将此作为预防措施。脚本不应该以某种方式自动上传文件,修改文件打开对话框将是其中一种方式。
显然在某些情况下这很糟糕......