2012-04-23 84 views
0

我有一個簡單的電子郵件完成。我希望這個電子郵件表單在一個流程中運行。用戶將提交一個查詢。他將不得不等待很短的時間才能獲得結果。在這段短時間內,我希望屏幕顯示我的電子郵件表單,並且每5秒鐘不斷刷新一次,當過程完成並且結果準備就緒時,我希望表單離開,腳本繼續到創建的結果頁面。PHP在進程運行期間刷新臨時表單

我在想JavaScript嗎?

 
    function timeRefresh(timeoutperiod){ 
    setTimeout("location.reload(true);",timeoutPeriod); 
有什麼建議嗎?

+1

你自己的想法做你想做的事嗎? – Armatus 2012-04-23 12:04:12

+0

你可以使用XmlHttpRequest發送一個小的'ping'到服務器來檢查更新。這是大多數聊天系統的工作原理。如果您想運行搜索,該技術稱爲「長輪詢」。 – rlemon 2012-04-23 12:04:20

+0

你將如何查詢過程中的狀態在PHP?你有沒有寫過,是客戶端唯一的問題?請進一步說明你需要什麼或你想要做什麼 – worenga 2012-04-23 12:06:09

回答

0

可以使用AJAX請求

和執行查詢時所發送的請求表明您可以使用這一個燈箱,我喜歡它

http://www.jacklmoore.com/colorbox

後的反應從服務器回來你檢查文本框是否爲空,如果它的空關閉燈箱,否則讓用戶完成表格並關閉它

如果您需要代碼,請發表評論


// show light box 
$.ajax({ 

        url: 'QueryFile.php', 
        type:'post', 
        data:{variable:value,}, 
        dataType:'html', 
        success: function(data) { 
        //close modal box 
        }, 
       error:function(error) 
       { 
        console.log(error); 
        alert("Sorry there was an error while performing your query "); 
       } 
       }); 
+0

謝謝這是我需要的。對不起,我正在教myslef Php,並不熟悉AJAX請求。我已閱讀了一些關於它的內容,但仍不完全確定如何執行此操作。 – user1338194 2012-04-23 12:15:44

+0

非常感謝。 – user1338194 2012-04-23 12:43:04

+2

我建議你閱讀XmlHttpRequest(這是用來從靜態頁面將數據傳遞到服務器的方法)。至少知道當你使用$魔法時幕後發生了什麼。或替代品包括像http://rlemon.github.com/Little-XHR這樣的東西,有很多小的庫在那裏有很多選項。至少你可以通過閱讀它們來學習一些東西。 – rlemon 2012-04-23 12:57:06