拨打"点击()"虽然元素肯定存在,但元素的方法返回undefined

时间:2013-05-19 19:47:16

标签: javascript file input click undefined

我正在尝试使用特定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()来打印函数调用时返回的内容。它返回“undefined”。我显然做错了什么,但到底是什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是一个安全问题。为防止浏览器为您选择文件,您无法模拟点击事件。请参阅:In JavaScript can I make a "click" event fire programmatically for a file input element?