触发文件输入以通过javascript打开

时间:2010-12-23 06:32:29

标签: javascript file-upload

所以我有一个输入,如下所示:

<input type="file" id="file" />

我想通过javascript弹出文件打开对话框。我尝试过这样的事情:

$('file').click();

(假设我正在使用类似prototype / mootools / jquery的东西)。但是,这似乎没有做任何事情。无论如何我可以触发文件输入的click事件,而不会强迫用户直接与输入交互?

4 个答案:

答案 0 :(得分:4)

我记得这是不可能的,因为它是一个安全功能。事实上,我很确定文件浏览对话框的按钮甚至没有显示在DOM中(字段显示,但不显示浏览器自动呈现的按钮)

答案 1 :(得分:3)

据我所知,打开文件打开对话框是出于安全原因而被阻止的。

答案 2 :(得分:3)

$('file').click()

这适用(在Chrome 8中)。你只需要确保它没有设置为display:none;

一个简单的解决方案是将其置于绝对位置,然后将其设置为-1000px。

答案 3 :(得分:2)

IIRC浏览器不允许将此作为​​预防措施。脚本不应该以某种方式自动上传文件,修改文件打开对话框将是其中一种方式。

显然在某些情况下这很糟糕......