我有一個用Cold Fusion編寫的網站。其中一個頁面是我的主要搜索區域,其中有一個表單提交給我的results.cfm頁面。在results.cfm上,我有幾個cfinclude模板語句,它們在每個文件中調用,用於從用戶搜索的內容構建頁面。頁面加載時更新模態對話框
取決於什麼,頁面有時會需要一段時間的用戶搜索加載。我想顯示一個指示搜索進度的模式對話框。在結果頁面上的每個包含的模板具有在第一線
<cfset session.progressStatus = "Loading [whatever it's loading]">
在我的搜索表單,我有這樣,當用戶提交表單,我展示的模態對話框。這一切都很好,但是在顯示對話框之後,我使用下面的代碼嘗試對腳本進行ajax調用,該腳本簡單地給了我session.progressStatus變量的值。我認爲通過這種方式做事,當頁面加載時,對話框將繼續顯示,並且會更新文本以反映當前操作。然而,這種情況並非如此。對話框文本不會更改。真奇怪的是,當我單擊搜索並顯示對話框時,如果我點擊了轉義鍵,對話框文本開始相應地更新,但頁面停止加載。
progressTimer = setInterval(function(){
$.get("ajax/ajax_get_progress.cfm", { type:"progress" }, function(result){
result = result.replace(/^\s+|\s+$/g,'');
console.log('result is: ' + result);
progressMessage = (result=="") ? "Performing Search" : result;
$progressIndicatorMessage.html(progressMessageStart + progressMessage + progressMessageEnd);
});
}, 1000);
任何人有任何想法,爲什麼?我很困惑。
我認爲模態對話框是一種處理這種情況的不好方法。在頁面正在處理時,有更多更好的方式來娛樂用戶。至於爲什麼轉義鍵停止加載頁面,這是默認的瀏覽器行爲。 –
@DanBracuk更好的方式來娛樂用戶,而頁面正在處理....建議? – Phil