44

リンクがあります、

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

クリックすると、ファイルの参照入力として機能するようにします

<input id="upload-file" type="file"/>

どうすればこれを達成できますか?

4

8 に答える 8

85

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');
    });
});

デモ。

于 2012-07-10T04:37:13.540 に答える
17

HTMLのみ

これは、CSS、Javascript/jQuery なしで機能し、フレームワーク インフラストラクチャに依存しない非常にシンプルな答えです。

<label>
  <input type="file" style="display: none;">
  <a>Upload Photo link</a>
</label>

またはさらに単純な

<label>
  <input type="file" style="display: none;">
  Upload Photo link
</label>
于 2019-03-25T01:43:59.590 に答える
7

以下は問題を解決します

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/

于 2012-07-10T04:32:32.247 に答える
2

クリックをシミュレートするために<input>呼び出すことができる非表示のタグを持つことができます。$('#upload').click()

または、<input>ID を持つ非表示のタグを作成してから、ラベル属性をリンクに追加するだけです。

于 2012-07-10T04:32:02.057 に答える
0

編集:

このデモを参照してください: http://jsfiddle.net/rathoreahsan/s6Mjt/

Jクエリ:

$("#upload").click(function(){
    $("#upload-file").trigger('click');
});

HTML

<a href="javascript:void(0)" id="upload">Upload your photo</a>
<input id="upload-file" type="file"/>

CSS

#upload-file {
    display:none;
}

また

次のような便利なプラグインを使用できます。

http://blueimp.github.com/jQuery-File-Upload/

于 2012-07-10T04:31:53.103 に答える
-3

最高のもの http://valums.com/ajax-upload/

于 2012-07-10T04:30:08.270 に答える