他のボタンをクリックしてファイルアップロードダイアログを開く必要があります。つまり、ファイルアップロードコントロールを非表示にして(可視性:非表示)、他のボタンをクリックすると、ダイアログを開きます。以下は私が持っているコードです:
<input type="file" style="visibility: hidden;" />
以下はjavascriptです。
$('#button').click(function() {
$('input[type=file]').click();
});
Firefox 4およびIE8では正常に動作していますが、chrome12では動作していません。つまり、ダイアログが開かれていません。理由は何ですか?
本日、質問で与えられた簡単なコードと状況が変更されました:
キャッチは1つだけです-IE .click()はブロッキング操作ですが、他のブラウザーではそうではありません。
この例では、ファイル入力にidがありませんでしたが、#inputで参照しようとしています。これは私のために働く:
$('#button').click(function() {
$('input[type=file]').click();
});
Input [file]をカスタムコントロールのすぐ上に配置する必要があります。そして、そのonclickにバインドします。
また、この方法でのみフォントサイズを大きくできるため、フォントサイズを大きくします。