1

特定の ID を持つファイル入力の click() メソッドを呼び出そうとしていますが、関数呼び出しは undefined を返し、基本的に何も起こりません。ここで状況を再現しました:http://jsfiddle.net/gkaG2/

とても簡単です:

HTML

<input id="hiddenFileInput" type="file" multiple="multiple" accept="image/*" >

Javascript

document.getElementById('hiddenFileInput').click();
alert(document.getElementById('hiddenFileInput').click());

要素で click() メソッドを呼び出してみましたが、うまくいきません。次に、alert() を呼び出して、呼び出されたときに関数が返すものを出力します。「未定義」を返します。私は明らかに何か間違ったことをしていますが、正確には何ですか?

4

2 に答える 2

1

をクリックしてエミュレートすることはできませんinput type=file。禁止です。別の onclick ハンドラ内でのみ機能します。ユーザーは、ダイアログを開くために何かをクリックする必要があります。

于 2013-05-19T19:49:17.923 に答える
0

これはセキュリティ上の問題です。ブラウザがファイルを選択しないようにするには、クリック イベントをシミュレートできません。これを参照してください: JavaScript では、ファイル入力要素に対してプログラムで「クリック」イベントを発生させることはできますか?

于 2013-05-19T19:50:11.047 に答える