1

我正在尝试使用特定 id 调用文件输入的 click() 方法,但函数调用返回 undefined 并且基本上没有任何反应。我在这里复制了这种情况:http: //jsfiddle.net/gkaG2/

这很简单:

HTML

<input id="hiddenFileInput" type="file" multiple="multiple" accept="image/*" >

Javascript

document.getElementById('hiddenFileInput').click();
alert(document.getElementById('hiddenFileInput').click());

我尝试在元素上调用 click() 方法,但不起作用。然后我调用 alert() 来打印函数在调用时返回的内容。它返回“未定义”。我显然做错了什么,但究竟是什么?

4

2 回答 2

1

你不能模拟点击input type=file。这是禁止的。它仅适用于另一个 onclick 处理程序。用户必须单击某些内容才能打开对话框。

于 2013-05-19T19:49:17.923 回答
0

这是一个安全问题。为了防止您的浏览器为您选择文件,您不能模拟点击事件。请参阅:在 JavaScript 中,我可以以编程方式为文件输入元素触发“点击”事件吗?

于 2013-05-19T19:50:11.047 回答