调用元素"Click()"方法返回未定义,尽管该元素肯定存在



我试图调用具有特定id的文件输入的click()方法,但函数调用返回未定义,基本上没有发生任何事情。我在这里复制了这种情况:http://jsfiddle.net/gkaG2/

很简单:

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

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

我尝试在元素上调用click()方法,这不起作用。然后调用alert()来打印函数被调用时的返回结果。它返回"undefined"。显然我做错了什么,但到底是什么?

你不能模仿点击input type=file。它是被禁止的。它只在另一个onclick处理程序中工作。用户必须点击某个东西才能打开对话框。

这是一个安全问题。为了防止浏览器为您选择文件,您不能模拟单击事件。看看这个:在JavaScript中,我可以做一个"click"事件以编程方式为文件输入元素触发?

最新更新