2012-07-10 47 views

回答

60

HTML

<input id="upload" type="file"/> 
<a href="" id="upload_link">Upload your photo</a>​ 

CSS

#upload{ 
    display:none 
} 

JS

$(function(){ 
    $("#upload_link").on('click', function(e){ 
     e.preventDefault(); 
     $("#upload:hidden").trigger('click'); 
    }); 
}); 

​DEMO.

+2

真的很聪明的解决方案。它显然是正确的答案,而且我会花几个小时从头开始尝试解决这个问题。谢谢。 – usumoio 2014-12-31 18:51:55

+1

欢迎和新年快乐@usumoio :-) – 2014-12-31 20:53:36

2

你可以有一个隐藏的<input>标签,你可以然后打电话给$('#upload').click()为了模拟点击。

或者,您可以隐藏<input>标记,该标记包含一个ID,然后只为您的链接添加标签属性。

+0

请给出你的第二个选项的例子。 – Pyol7 2017-08-12 23:28:23

6

下面将解决这个问题

HTML

<input id="upload-file" type="file"/> 
<a id="fileupload">Upload your photo</a> 

CSS

#upload-file{ 
    display: none; 
}​ 

JS

$("#fileupload").click(function(){ 
    $("#upload-file").click(); 
});​ 

http://jsfiddle.net/WXBKj/

相关问题