2013-11-15 56 views
0

我有一個很多文件上傳的表單,表單需要一段時間才能提交。有沒有一種方式與js或jQuery或PHP來獲取表單提交的進度?提交表格的進度

+0

糟糕,有人低估了你的問題:試着寫更多的細節,或者你試圖用upvotes來推廣這個問題。 –

回答

2

是的,這是可能的,因爲XHR更新來與HTML5(客戶端,純JavaScript)。看看XHR updates上html5rocks.com,特別是在uploading file or blob細節:這裏有雲:

HTML

<progress min="0" max="100" value="0">0% complete</progress> 

JS

function upload(blobOrFile) { 
    var xhr = new XMLHttpRequest(); 
    xhr.open('POST', '/server', true); 
    xhr.onload = function(e) { ... }; 

    // Listen to the upload progress. 
    var progressBar = document.querySelector('progress'); 
    xhr.upload.onprogress = function(e) { 
    if (e.lengthComputable) { 
     progressBar.value = (e.loaded/e.total) * 100; 
     progressBar.textContent = progressBar.value; // Fallback for unsupported browsers. 
    } 
    }; 

    xhr.send(blobOrFile); 
} 

upload(new Blob(['hello world'], {type: 'text/plain'})); 
+0

您可以使用modernizr或類似的東西來確保不支持HTML5的瀏覽器不會錯過此功能嗎? – kero

+1

沒有必要:[所有現代設備都可以使用XHR2](http://caniuse.com/xhr2)。 –

+0

是的,您絕對應該使用功能檢測來確保當前使用的瀏覽器支持XHR2。 IE9及更高版本不支持XHR2。 –

-2

Using files from web applicationsMozilla開發者網絡是關於Jav中文件上傳的好文章aScript(不含jQuery)。

+0

這是一條評論,而不是一個答案。 –

+0

如果你花時間看這篇文章,你會看到有一個關於如何處理上傳進度的例子https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications#Handling_the_upload_process_for_a_file這是他正在尋找什麼。 – Linblow

+1

這只是一個鏈接,因此不是一個合適的答案。請閱讀發佈適當答案的說明。 –