2012-07-08 89 views
0

我有一个文件输入元件,如下面的代码。我如何使用jQuery获得此文件输入控件的按钮部分?使用jQuery获取文件输入元素的按钮部分?

<input type="file" name="FILE1" id="FILE1"></input> 
+0

你不能,看看我的答案为[这个问题](http://stackoverflow.com/questions/11337629/how-to-change-input-型文件设计那么它-不会显示最文本字段/ 11337696#11337696) – elclanrs 2012-07-08 20:35:36

+0

[这](http://stackoverflow.com/questions/793014/jquery-trigger-file-input)具有很好的答案/黑客 – Jashwant 2012-07-08 21:02:52

+0

@elclanrs - 感谢您的帮助。它是使用jQuery设置文件输入控件样式的好方法。 – Sunil 2012-07-08 21:05:23

回答

1

因为文件输入行为是在浏览器和操纵,导致像防止文件上传与安全相关的问题的控制这是不可能的。但是你可以的file input不透明度设置为0,并创建一个哑元代替,并通过点击触发click事件文件输入的是:

$("#trigger").click(function(e) { 
    e.preventDefault(); 
    $("input[type='file']").trigger("click");   
}) 
+0

我不认为它可能引发'click'跨浏览器(安全原因)。此外,将不透明度更改为0不应影响其“点击”功能。 – Jashwant 2012-07-08 21:01:15

+0

@Jashwant我已经使用这个方法,我的网站和它的作品在所有浏览器,但不是'输入[类型=“文件”]'一个'id'可以防止安全问题。 – undefined 2012-07-08 21:04:06

+0

'click'实际上是跨浏览器的唯一事件。另一方面'变化'有一些问题。 – elclanrs 2012-07-08 21:06:31

1

你不能。按钮部分是浏览器特定的。

0

有覆盖你一些关于这个问题和答案可以做一个文件输入。这不是很多,但它是一些东西。

Style input type file?

埃里克