入力ボタンをファイル選択ウィンドウにリンクするにはどうすればいいですか? [重複] 質問する

入力ボタンをファイル選択ウィンドウにリンクするにはどうすればいいですか? [重複] 質問する

重複の可能性あり:
JQuery トリガー ファイル入力

私は、ユーザーが Web サイトに画像をアップロードできるフォームを作成中です。これまでのところ、Chrome と Safari で動作するドラッグ アンド ドロップ ソリューションを用意しました。ただし、ユーザーがボタンをクリックして従来の方法でファイルを参照する操作もサポートする必要があります。

次のような動作になります:

<input type="file" name="my_file">

ただし、扱いにくいファイルの説明領域と編集できない参照ボタンを使用するよりも、次のようなものを使用することをお勧めします。

<input type="button" id="get_file">

type="file"したがって、私の質問は、このボタンでファイル選択ウィンドウを開き、動作と同じように選択を処理するにはどうすればよいかということです。

乾杯。


私の解決策

HTML:

<input type="button" id="my-button" value="Select Files">
<input type="file" name="my_file" id="my-file">

CS: ...

#my-file { visibility: hidden; }

jQuery:

$('#my-button').click(function(){
    $('#my-file').click();
});

これまでのところ、Chrome、Firefox、IE7+ で動作しています (IE6 は試していません)。

ベストアンサー1

JavaScript を使用して、ボタン入力がクリックされたときに隠しファイル入力をトリガーすることができます。

http://jsfiddle.net/gregorypratt/dhyzV/- 単純

http://jsfiddle.net/gregorypratt/dhyzV/1/- 少しのJQueryでもっと凝った

または、ファイル入力の上に直接 div をスタイル設定し、pointer-eventsCSS で none に設定して、クリック イベントが派手な div の「背後」にあるファイル入力に渡されるようにすることもできます。ただし、これは特定のブラウザーでのみ機能します。http://caniuse.com/pointer-events

おすすめ記事