如何使链接充当文件输入

Dav*_*542 35 html javascript css jquery

我有一个链接,

<a id="upload-file">Upload your photo</a>
Run Code Online (Sandbox Code Playgroud)

如果点击,我希望它充当浏览文件输入

<input id="upload-file" type="file"/>
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?

The*_*pha 78

HTML

<input id="upload" type="file"/>
<a href="" id="upload_link">Upload your photo</a>?
Run Code Online (Sandbox Code Playgroud)

CSS

#upload{
    display:none
}
Run Code Online (Sandbox Code Playgroud)

JS

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

DEMO.

  • 真的很聪明的解决方案 它显然是正确的答案,我会花费数小时试图从头开始解决这个问题.谢谢. (3认同)

小智 16

HTML Only

Here's a pretty simple answer that works with no CSS, Javascript/jQuery and doesn't rely on any framework infrastructure.

<label>
  <input type="file" style="display: none;">
  <a>Upload Photo link</a>
</label>
Run Code Online (Sandbox Code Playgroud)

or even simpler

<label>
  <input type="file" style="display: none;">
  Upload Photo link
</label>
Run Code Online (Sandbox Code Playgroud)


Cha*_*mal 6

以下将解决问题

HTML

<input id="upload-file" type="file"/>
<a id="fileupload">Upload your photo</a>
Run Code Online (Sandbox Code Playgroud)

CSS

#upload-file{
    display: none;
}?
Run Code Online (Sandbox Code Playgroud)

JS

$("#fileupload").click(function(){
    $("#upload-file").click();
});?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/WXBKj/