2012-07-09 104 views
0

我想在每次回發時顯示彈出式jquery樣式,例如說Loading ...我不知道如何實現,也不知道哪些tecnology使用。我想把代碼放在超類上,這樣我只需要編寫一次代碼。原則上,當我按下提交按鈕時,頁面會隱藏自身。 希望你能幫助我。提交時顯示progess欄對話框

編輯: 它應該是這樣的。我有一個頁面,我打開一個jQuery對話框,上面有一個iframe和一個提交按鈕。當我提交表單時,與表單的對話框必須隱藏,並且一個新的對話框顯示正在加載......必須出現;當操作完成時,此對話框必須隱藏。

+0

當您使用Ajax發回帖子,或者回復並等待下一頁時? – Aristos 2012-07-09 09:17:02

+0

只是說,正在加載...或發送...並等待下一頁。我按下按鈕的頁面必須隱藏。 – anmarti 2012-07-09 10:14:06

回答

1

你可以做到這一點使用上你頁面的form作爲onsubmit觸發:

<form id="form1" runat="server" onsubmit="return disableForm(this);"> 
... 
</form> 
於JavaScript

的是我做的是,在第一次提交點擊我讓提交,並關閉/打開我喜歡的對話框。如果用戶點擊兩次提交,我會向他顯示一條消息並停止第二次提交。

var submitted = false; 
function disableForm(theform) { 
     if (true == submitted) { 
      alert("form already submitted... please wait..."); 
      return false; 
     } 
     else {    
      // here you close the dialog, open an other 
      submitted = true; 
      return true; 
     } 
} 

我不能寫怎麼關閉打開的對話框,因爲你沒有給任何線索/代碼這件事,但我認爲這將是容易的。

0

假設您正在使用updatepanels。你需要這樣一個和圖像「LoadingImage」

<script type="text/javascript" language="javascript"> 
     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle); 
      Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle); 
      function beginRequestHandle(sender, Args) { 
    document.getElementById("LoadingImage").style.visibility = "visible"; 

      //Do something when call begins. 
      } 

    function endRequestHandle(sender, Args) { 
    document.getElementById("LoadingImage").style.visibility = "hidden"; 
    } 
      </script> 

它所做的是它顯示的圖像時,Ajax調用啓動和隱藏它完成時的處理程序。你可以爲你的目的使用動畫GIF。

+0

這隻在UpdatePanel上完成(沒有看到關鍵字的問題),以及爲什麼要手動? UpdatePanell上有UpdateProgress – Aristos 2012-07-09 09:31:38

+0

是的,但他們從來沒有發現一個工作正常,OP需要類似「加載」的東西,他也必須在UpdatePanel中使用UpdatePanel。 – 2012-07-09 09:34:07

+0

由於我有沒有ajax代碼的asp.net我需要做到沒有ajax。 – anmarti 2012-07-09 10:12:41