click()无法在FireFox上运行

时间:2010-05-14 15:00:48

标签: javascript

<script>
function attachFile(){
  document.getElementById("file").click(); 
  return;
}
</script>

<form name="novsh" style="margin: 0px; padding: 0px;">
<input type="file" name="file" style="display:none" id="file" />
</form>

<a href="javascript:attachFile()">Attach File</a>
<input type="button" name="btn" value="click me" onclick="attachFile()"/>

我写的是这样的,它在IE上工作,但没有在FireFox上工作

2 个答案:

答案 0 :(得分:4)

非表单输入元素的click()函数是仅存在于IE中的非标准功能。

如果您尝试调用元素的onclick处理程序,则可以执行此操作:

document.getElementById("file").onclick();

修改

原来这是一个表单输入,所以......没关系。

但看起来你要做的就是弹出文件选择器对话框。我不知道有任何程序化的方法来做到这一点。我同意RoToRa的观点,即这种能力可能是一个安全漏洞。

如果你的最终目标是创建一个文件输入元素,其格式与浏览器的默认设置不同,请查看this article

答案 1 :(得分:1)

Firefox不允许您以编程方式在文件输入上调用click()