3

ユーザーがボタンをクリックしたときにファイルを選択しようとしていますが、それはクロムでのみ機能しません

ここで私がそれをした方法を見てください

$("#upllnk").click(function() {
    $("#ufile").click();
});

これが私のhtmlコードです

<a href="#" class="wb" id="upllnk">Select File To Upload</a>
<div style='display:none'><input type='file' name='ufile' id='ufile'/></div>

input:file を div に入れる理由は、その要素を非表示にすることです。

4

2 に答える 2

3

Esailijaの有益なコメントの後、ポータブルバージョンのGoogle Chrome(8.0.552.215)をダウンロードしましたが、実際には機能しませんでした。

opacityEsailijaが提案したように、回避策を使用できます

<div style='opacity:0;'><input type='file' name='ufile' id='ufile'/></div>
            ^^^^^^^^^ setting the opacity to 0 "hides" the input element

これが実用的なフィドルです

于 2012-07-26T18:03:09.623 に答える
1

ファイル入力で JavaScript を介してクリックをトリガーすると、(通常はフォームを送信しようとした後に) セキュリティ エラーがトリガーされ、通常は期待どおりに動作しません。これは、IE および初期バージョンの Chrome と Firefox で非常に一般的です。

入力をラベルでラップすることで、過去にこの問題を回避しました。そうすれば、ラベルがクリックされると、入力がトリガーされます。

.Foo input { visibility: hidden; }

<label class="Foo">Select File to Upload<input type="file" /></label>

于 2012-07-26T19:26:14.767 に答える