点击打开文件上传对话框

Nir*_*bey 23 html javascript jquery file-upload

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

<input type="file" style="visibility: hidden;" />
Run Code Online (Sandbox Code Playgroud)

以下是javascript:

$('#button').click(function() {
    $('input[type=file]').click();
});
Run Code Online (Sandbox Code Playgroud)

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

Kna*_*ģis 8

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

  • IE9:有效
  • Chrome23:有效
  • Firefox15:有效

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


cir*_*red 6

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

$('#button').click(function() {
    $('input[type=file]').click();
});
Run Code Online (Sandbox Code Playgroud)


gaR*_*Rex 0

您应该将 input[file] 放置在自定义控件的正上方。然后绑定到它的onclick。

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