2012-07-13 138 views
6

如果我們要使用javascript爲文件讀取設置事件回調,但是如何設置用戶取消上傳時的事件(關閉瀏覽面板),我們可以使用file.onchangejavascript中的文件上傳取消事件

+0

或許,如果你提到你的使用情況下,可能會有人提出一個替代方案。 – 2012-07-13 05:19:33

+0

我只想發送沒有重定向的文件,所以我必須使用iframe。但我希望在用戶點擊之後建立iframe,並在用戶完成使用面板後立即消失。這是想法 – Dagon 2012-07-13 08:04:01

+0

嗯,所以你想在用戶選擇一個東西后立即觸發上傳?我的建議是讓用戶選擇文件,然後緊挨着它 - 有一個上傳按鈕。然後,您可以在點擊時創建iframe。這樣你就知道文件選擇器的價值,顯然如果它是零,你可以呈現某種驗證信息。 – 2012-07-13 18:07:56

回答

1

沒有用於文件輸入模式的API。此外,如果用戶關閉瀏覽器,您的代碼將不再運行,是嗎?

當然有window.onunload方法可以讓你檢測你給的例子。

根據評論,我可以想出最好的事情將是有益的是,如果沒有選擇什麼,file.value.length0

+0

對不起。它不是瀏覽器。我的意思是文件瀏覽面板。當我們點擊元素時可以打開 – Dagon 2012-07-13 02:34:25

+3

無後顧之憂。不幸的是,沒有取消活動。我唯一想到的是,如果沒有選擇任何東西,file.value.length將爲0.不幸的是,當用戶退出除onchange之外的模式時,沒有什麼可檢測到,只有在選擇文件時纔會觸發。 – 2012-07-13 05:17:48

+0

不幸的是,在文件面板彈出之前和之後值不會改變。所以即使使用setinterval,我們也無法捕捉彈出窗口。你認爲面板彈出後還有其他值會被更改嗎? – Dagon 2012-07-13 07:40:37

0

沒有瀏覽器支持「onfileopendialogboxclose」或「onfileselectioncancel」事件。再加上,在文件選擇對話框不是一個元素,不能被獲取,作爲一個HTML元素

+0

你不會說我回答了你的問題嗎?組成兩個不存在的事件名稱並使用我的信息並不真正回答這個問題。 – 2012-07-16 21:28:17

+0

完成........... – Dagon 2012-07-16 22:06:10

+0

謝謝! Upvoted這個問題,所以你會得到一些觀點。 – 2012-07-16 22:12:22

-3

這是非常簡單的使用jQuery:

$("#fileInputId").change(function() { 
    //implement your code here 
}); 
+2

這不會解決OP詢問的問題 – 2013-12-22 21:12:00