<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上工作
答案 0 :(得分:4)
非表单输入元素的click()
函数是仅存在于IE中的非标准功能。
如果您尝试调用元素的onclick
处理程序,则可以执行此操作:
document.getElementById("file").onclick();
修改强>
原来这是一个表单输入,所以......没关系。
但看起来你要做的就是弹出文件选择器对话框。我不知道有任何程序化的方法来做到这一点。我同意RoToRa的观点,即这种能力可能是一个安全漏洞。
如果你的最终目标是创建一个文件输入元素,其格式与浏览器的默认设置不同,请查看this article。
答案 1 :(得分:1)
Firefox不允许您以编程方式在文件输入上调用click()
。