2010-09-20 66 views
0

只需要提示如何使用加載進度圖像通過AJAX提交請求的表單。我正在使用AJAX框架的更新面板。我想知道推薦的方法。通過JQuery或AJAX工具包?通過加載進度通過AJAX提交表單?

請指教,例子對我來說是額外的好處。

回答

1

我想知道在 推薦的方法

嗯,這取決於你在做什麼,表單的部分你更新了什麼,有多大的形式,什麼樣的價值觀,你向服務器發送。一般來說,如果你想更新一些簡單的東西(dropdownlist,listbox等),youd通常使用JavaScript(或jQuery)來調用支持AJAX的Web服務。這樣,您只需向服務器發送其所需的數據,像ViewState/cookies等事件不會通過線路發送。您還可以完全控制前/後執行事件(因此您可以添加加載映像,調用WS,然後清除它們)。但是,如果要異步更新整個表單(其中有很多控件),則可能是使用UpdatePanel的正確方法。像GridView這樣的事情對於UpdatePanel來說是很好的例子(因爲你通常需要異步處理編輯,綁定和分頁)。

形象進度變得容易用下面的代碼:

<ProgressTemplate> 
    <img src="someloadingimage.gif" alt="Loading" /> 
</ProgressTemplate> 

棒,你的UpdatePanel內,每當一個AJAX調用時,加載的圖像將顯示。

HTH

+0

謝謝RPM1984。你的回覆非常詳細,幫助我很多。我打算採用第二種方法(更新整個格式,包含很多gridviews /下拉列表等)。我想JQuery和updatepanel的一個小混合將解決我的問題。 – 2010-09-22 04:56:35

+0

沒問題,樂於幫忙! – RPM1984 2010-09-22 04:58:18

+0

你有沒有任何想法如何顯示導致回發的按鈕旁邊的進度圖像?我的更新面板中有很多按鈕,每個按鈕都會觸發一個單獨的事件,並且我想在引發事件的按鈕旁邊顯示圖像。 – 2010-09-23 08:08:13

3

1-準備一個「display:none」樣式屬性的客戶端div。把你的加載圖像放在裏面。

2 - 當用戶或頁面提交請求時,將該div的顯示屬性更改爲「block」。

3-添加某種「信息收到」登錄的響應,並檢查從客戶端這種答覆,那麼div的顯示屬性更改回「無」

+1

這不會阻止標籤和空間酒吧我認爲。 – 2010-09-20 12:02:26

1

如果您使用JQuery的AJAX請求,那麼你可以使用下面的事件 -

$.ajax({ url: "test.html", 
type: "GET", 
beforeSend: function(){ 
      -----load your loader here----- 
      });, 
success: function(){ 
     ------remove your loader here ----------- 
     Remaining code 
     }}); 

您還可以使用POST。在上面的例子中,我使用了GET。

對於您可以參考詳細的文檔 - http://api.jquery.com/jQuery.ajax/

1

爲您的裝載機,像這樣創建一個小插件。

$.fn.ShowLoader = function(on){ 
    switch(on) 
    { 
     case true: 
      $(this).show(); 
     break; 
     default: 
      $(this).hide(); 
     break; 
    } 
} 

然後使用以下命令:

$('form').submit(function(){ 
    var Form = $(this); 

    $('.loader',Form).ShowLoader(true); 

    //Gather some params 
    Location = Form.attr('src'); 
    Data = Form.Serialize(); 

    $.post(Location,Data,function(result){ 
     result = result || false; 
     if(result) 
     { 
      $('.loader',Form).ShowLoader(false); //Disable the loader 
      //Process result 
     } 
    }); 
}) 

HTML也只是一個普通的形式,與圖像/ DIV中與類的loader