2014-01-06 29 views
1

我試圖通過javascript觸發<input type="file" />的點擊事件(onclick文件選擇對話框應該打開)。到目前爲止,我已經嘗試過:通過javascript的觸發器輸入[type = file]

$('#uploadFile').trigger('click') 
.trigger('submit') 
.submit() 
.post(); // Stacked for brevity 

沒有骰子。

有沒有什麼特別的關於這個輸入,阻止這些方法的工作?

這裏是Fiddle

回答

4

如果事件是由腳本觸發的,並且由於安全原因未在用戶初始化的線程中完成,瀏覽器會阻止某些事件的默認操作。

看到它的工作,如果它是從另一個點擊觸發的處理程序(用戶必須點擊該按鈕)

$('button').click(function(){ 
    $('#uploadFile').trigger('click') 
}) 

演示:Fiddle

+0

@ M59 http://jsfiddle.net/arunpjohny/bcpV2/2 /現在更新... –

+0

是的,這是伎倆。對跨瀏覽器支持有何評論? – monners

+0

@monners它應該沒問題,如果你沒有在文件輸入提交表格 –

相關問題