通过javascript触发要打开的文件输入

通过javascript触发要打开的文件输入,javascript,file-upload,Javascript,File Upload,我有一个输入,类似这样: <input type="file" id="file" /> $('file').click(); 假设我使用的是prototype/mootools/jquery之类的东西。然而,这似乎没有任何作用。是否可以在不强制用户直接与输入交互的情况下触发文件输入的单击事件?我记得这是不可能的,因为它是一种安全功能。事实上,我非常确定文件浏览对话框的按钮甚至没有显示在显示字段的DOM中,但没有浏览器自动呈现的按钮。我记得这是不可能的,因为它是一个安全功能。事实

我有一个输入,类似这样:

<input type="file" id="file" />
$('file').click();

假设我使用的是prototype/mootools/jquery之类的东西。然而,这似乎没有任何作用。是否可以在不强制用户直接与输入交互的情况下触发文件输入的单击事件?

我记得这是不可能的,因为它是一种安全功能。事实上,我非常确定文件浏览对话框的按钮甚至没有显示在显示字段的DOM中,但没有浏览器自动呈现的按钮。我记得这是不可能的,因为它是一个安全功能。事实上,我很确定文件浏览对话框的按钮甚至不会出现在DOM中,字段会出现,但按钮不会出现,据我所知,从javascript打开文件打开对话框是出于安全原因而被阻止的。

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

IIRC浏览器不允许将此作为预防机制。脚本不能以某种方式自动上传文件,修改“文件打开”对话框就是其中之一


显然,这在某些情况下是不好的…

IIRC浏览器不允许将此作为预防机制。脚本不能以某种方式自动上传文件,修改“文件打开”对话框就是其中之一

$('file').click()
显然这在某些情况下是不好的

$('file').click()
这在Chrome8中工作。您只需要确保它没有设置为显示:无

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

这在Chrome8中工作。您只需要确保它没有设置为显示:无


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

我不打算自动打开文件。我只是想让输入看起来不一样。我尝试的是隐藏文件输入,并有一个链接,用户可以点击弹出文件打开对话框。我理解安全问题,但这让事情变得丑陋和骇人:我不打算自动打开文件。我只是想让输入看起来不一样。我尝试的是隐藏文件输入,并有一个链接,用户可以点击弹出文件打开对话框。我理解安全问题,但这会让事情变得丑陋和骇人:D