点击打开文件上传对话框

时间:2011-06-09 12:32:30

标签: javascript jquery html file-upload

我必须通过点击其他按钮打开文件上传对话框,即我隐藏文件上传控件(可见性:隐藏),点击其他按钮我要打开该对话框。 以下是我的代码:

<input type="file" style="visibility: hidden;" />

以下是javascript:

$('#button').click(function() {
    $('input[type=file]').click();
});

它在Firefox 4和IE8中运行良好,但在chrome12中它无法正常工作,即对话框未被打开。知道为什么吗?

3 个答案:

答案 0 :(得分:8)

今天测试了问题中给出的简单代码,情况发生了变化:

  • IE9:正常工作
  • Chrome23:正常工作
  • Firefox15:正常工作

只有一个问题 - 在IE上,.click()是一种阻止操作,而在其他浏览器上却不是。

答案 1 :(得分:6)

在您的示例中,您的文件输入没有ID,但您尝试使用#input引用它。这对我有用:

$('#button').click(function() {
    $('input[type=file]').click();
});

答案 2 :(得分:0)

您应该将输入[文件]放在自定义控件的上方。然后绑定到它的onclick。

还要使其更大的字体大小,因为只有这样你才能增加它的高度。