在IE中工作的Javascript代码但在Firefox中不起作用?

时间:2010-11-29 12:30:23

标签: javascript firefox

我有这段代码:

<a href="javascript:document.forms['form1'].student_pic.click()">
    <img src="images/mypic.png" alt="" width="161" height="29" border="0" style="margin-top:10px" />
</a>
<input style="display:none" type="file" name="student_pic" id="student_pic" />

此代码在IE中成功运行,但它在FF中无效。

当然,我的页面上有一个名为form1

的表单

当用户点击图片时,选择文件窗口会让用户选择图片并将其放入隐藏文件元素中。

什么是问题?

由于

3 个答案:

答案 0 :(得分:2)

您的问题很简单,.click()打开文件选择器对话框并不适用于所有浏览器。我不知道有任何解决方法。

答案 1 :(得分:1)

常见的方法是将文件输入到位,但不透明度为0,实际上意味着它是隐藏的,并在其上放置自定义图像或文本。确保“浏览”按钮正好是文本/图像的位置,它将起作用 - 单击自定义文本/图像将实际单击浏览按钮。

我在某处有这样的代码,所以如果你无法实现这一点,我会搜索该代码。

答案 2 :(得分:1)

尚未支持Gecko:

Gecko 2.0 note(Firefox 4) 

Starting in Gecko 2.0 , calling the click() method on an <input> element of 
type file opens the file picker and lets the user select files.

来自https://developer.mozilla.org/en/HTML/Element/input#File_inputs