通常情況下,要上傳文件,需要兩步處理 - 選擇一個文件,然後確認上傳。我正在上傳個人資料照片。由於配置文件圖片通常很小,我希望通過在文件選擇時啓動文件上傳來減少我的用戶的鼠標點擊。請提出很好的,也許是常見的方法來實現這一目標(如果有的話,我也想知道他們的陷阱)。謝謝。開始選擇文件後上傳
7
A
回答
6
當從文件上傳字段中選擇文件時,change
事件將觸發。如果未選擇文件(字段被清除),字段的值將是''
。
<form method="post" action="upload.script">
<input type="file" id="formfile"/>
<input type="submit" id="formsubmit"/>
</form>
<script type="text/javascript">
var file= document.getElementById('formfile');
var submit= document.getElementById('formsubmit');
// If scripting is available, can auto-submit the form, so no submit
// button needed.
//
submit.parentNode.removeChild(submit);
// When field is filled in with a filename, submit form
//
file.onchange= function() {
if (this.value!=='')
this.form.submit();
};
</script>
這是個好主意嗎?可疑的。如果用戶不期望自動提交表單可能會產生負面影響。
3
你可以使用jQuery自動發佈該文件以在選擇服務器...
問題:
如果哪些用戶不想要選擇該文件,但該文件已被上傳到服務器?
如果上一次發生在文件上傳完成之前該怎麼辦?
當用戶什麼都不做並關閉頁面時如何?您要保留文件多長時間
1
如果您使用GMail,您會注意到它們具有用於將文件附加到電子郵件的拖放解決方案。從桌面拖動到預定義的區域和wallah。
如果您對使用此功能的人(如果他們保持最新狀態,最應該這樣做)支持HTML5,那麼您可以使用內置於HTML5的拖放功能。
嘗試尋找這個:http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/
你也可以給像Plupload一試(http://www.plupload.com/),但可能是矯枉過正這一點。 Plupload更適用於需要進度動畫和分塊的較大文件。但是,我知道你可以編寫腳本,以便立即開始上傳,並在完成後立即重定向。它也可能需要你沒有設置的服務器端工作。
相關問題
- 1. 在Sencha Touch中選擇文件後自動上傳文件2.3
- 2. ASP.NET文件上傳:如何選擇文件後自動回發?
- 3. sahi腳本選擇和上傳文件
- 4. 上傳自動文件選擇
- 5. 如何選擇和上傳python文件
- 6. 如何選擇多個文件上傳?
- 7. 多個文件選擇和上傳
- 8. YUI上傳程序在選擇文件後掛起
- 9. ASP.Net上傳多個文件後,從jQuery中選擇它們
- 10. 用戶使用fileUploadControl選擇文件後自動上傳
- 11. 提交文件上傳/表單上的文件選擇
- 12. 從開始選擇的文本框
- 13. Rails罰款上傳選擇文件夾從選擇框
- 14. CI上傳錯誤,您沒有選擇要上傳的文件
- 15. 您沒有選擇一個文件上傳。但圖像上傳
- 16. 選擇文件後,檢查用戶在上傳前更改文件名
- 17. Bootstrap-選擇始終打開
- 18. 選擇過濾器後上傳圖片
- 19. SSIS包上傳escel將向用戶展示文件選擇器窗口以選擇要上傳的文件
- 20. CodeIgniter上傳文件錯誤:您沒有選擇要上傳的文件
- 21. Codeigniter文件上傳錯誤:'您沒有選擇要上傳的文件'
- 22. Flash文件上傳vs php文件上傳 - 哪一個可以選擇?
- 23. 在文件上傳中選擇自定義文件
- 24. Watin:文件上傳...沒有文件選擇窗口?
- 25. 如何上傳文件而不選擇文件?
- 26. 選擇文件機器人框架不上傳文件
- 27. 選擇與Django上傳的文件的文件名
- 28. 如何在ICEfaces中選擇上傳文件的文件名?
- 29. jquery文件上傳(blueimp) - IE9不支持多文件選擇?
- 30. 創建UL列以選擇和上傳文件中的文件
感謝您提供您的解決方案。至於你提到的問題,我認爲這不會引起我主要關心的問題。 – tamakisquare
對IE8的調用form.submit()會失敗,並且訪問被拒絕。 –
@Maurice:?在IE6中對我很好。 – bobince