2011-05-16 23 views
2

我有一個PHP表單,其中包含一個文件在提交時上傳。 由於我允許非常大的文件,頁面通常可以在那裏加載很長時間。PHP表單處理時加載gif

有沒有辦法讓用戶看到某種加載動畫?

+2

的JavaScript函數插入動畫到DOM,綁定到表單的提交事件。 – drudge 2011-05-16 18:37:10

回答

4

你需要JQuery的使用我的代碼,但它是值得的:

將這個腳本標籤在您的網站<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 

把隱藏加載GIF的地方,無論你想看到它

<img id="loader" src="loading.gif" /> 

隱藏它在頁面加載:$('#loader').hide();

然後在Javascript(甚至更好的JQuery),裏面你提交功能...顯示/隱藏:

function submit() 
{ 
    $('#loader').show(); 
    // do your upload stuff 
    $('#loader').hide();  
} 
+0

提交簡單數據時這是一個好主意,但如何提交一個非常大的文件?它在主流瀏覽器中如何工作? – Tadeck 2011-05-16 18:43:57

+0

@Tadeck:PHP不適合大文件上傳。如果上傳中有任何故障,則已上傳的整個部分很可能會丟失並且不可恢復。但除此之外,瀏覽器並不在乎上傳是1字節還是50千兆字節 - 如果瀏覽器可以訪問該文件,則可以上傳。 – 2011-05-16 18:46:27

+0

@Marc我不明白你的答案。當然,PHP有很多缺點,而其他語言在實現特定功能時更好,但它與我提交用戶輸入的文本數據還是提交大文件有關?這種情況是,你不能通過AJAX提交文件,除非你使用一些Flash等。這與服務器端無關,你可能會在用戶上傳文件之前隱藏旋轉按鈕(加載器)。這是上述解決方案的弱點,而不是PHP。 – Tadeck 2011-05-16 18:56:18

0

我會把一個隱藏的圖像放在頁面上的某個地方。在表單提交時調用JavaScript函數,並讓該函數顯示圖像,然後提交表單。