所以我有一個輸入,這樣的事情:觸發文件輸入打開通過javascript
<input type="file" id="file" />
我想打開文件對話框通過JavaScript彈出。我試過這樣的事情:
$('file').click();
(這是假設我使用的東西像原型/ mootools/jQuery的)。但是,這似乎沒有做任何事情。無論如何,我可以觸發文件輸入的點擊事件,而不必強迫用戶直接與輸入交互?
所以我有一個輸入,這樣的事情:觸發文件輸入打開通過javascript
<input type="file" id="file" />
我想打開文件對話框通過JavaScript彈出。我試過這樣的事情:
$('file').click();
(這是假設我使用的東西像原型/ mootools/jQuery的)。但是,這似乎沒有做任何事情。無論如何,我可以觸發文件輸入的點擊事件,而不必強迫用戶直接與輸入交互?
$('file').click()
這工作(在Chrome 8)。你只需要確保它沒有設置爲顯示:無;
一個簡單的解決方案是將其定位爲絕對位置,然後將其設置爲-1000像素左右。
我記得這是不可能的,因爲它是一個安全功能。實際上,我很確定文件瀏覽對話框的按鈕甚至不出現在DOM中(該字段顯示,但不是瀏覽器自動呈現的按鈕)
據我所知開放由於安全原因,JavaScript中的文件打開對話框被阻止。
IIRC瀏覽器不允許將此作爲預防措施。腳本不應該能夠以某種方式自動上傳文件,並且修改文件打開對話框就是其中一種方式。
顯然,這是在某些情況下壞...
以及我不打算自動打開文件。我只是想讓輸入看起來不同。我試圖隱藏文件輸入,並有一個鏈接,用戶可以點擊彈出文件打開對話框。我理解安全問題,但它使得這件事變得醜陋和駭人聽聞:D – gregghz 2010-12-23 16:42:45
AFAICT這不再起作用 – gman 2016-02-06 04:19:22