1

以下は、ボタンクリックでhtml divを埋める私のajax関数です..今、私が欲しいのは、この関数の開始時にローダーの画像を表示する方法です。この関数の実行後、ローダーは非表示になります。

function campaignList(){
        $.ajax({
            type:'post',
            url:'<%=campaignListURL.toString()%>',
            data:{},
            success:function(data){
                $(".main_content").html(data);                              
            }
        });
    }

次のスクリプトで試しました

<script type="text/javascript">
$("#loading_layer").ajaxStart(function(){
       $(this).show();
     });
</script>

しかし、何も起こりません..以下は、隠して表示したいajaxローダーgif画像がある私のdivです

<div id="loading_layer" style="display: none">

/////////////////////////////////////////////// //////////////////////////// 上記は私が求めていたajxメソッド用でした..しかし、フォームの送信中に同じことをしたい場合どうすればこれを達成できますか..?

以下は、フォームを送信する1つのjavascriptの私のコード行です

{すべての検証が true の場合、フォーム検証用の JavaScript コードがあり、フラグが true になります.....

   if (flag == true) {
    div.style.display = '';
 alert("");
    document.editadform.submit();
    }
         div.style.display = 'none';
        return flag;

}

以下は、フォームの送信時に非表示にし、完了したら非表示にしたい、表示したいhaev imgの1つのdivです

" />

誰でもこの問題について私を導くことができますか?

4

2 に答える 2

9

beforeSendAJAXスクリプトに追加することで実行できます。

jquery Ajax doc、http: //api.jquery.com/jQuery.ajax/ をご覧ください。

function campaignList(){
        $.ajax({
            type:'post',
            url:'<%=campaignListURL.toString()%>',
            data:{},
            beforeSend: function ( xhr ) {
               //Add your image loader here
            },
            success:function(data){
                $(".main_content").html(data);                              
            }
        });       

 }
于 2012-12-04T05:38:29.117 に答える
6

これはうまくいくはずです:

function campaignList(){
        $(".main_content").html("<img src='loader.png'>"); // show the ajax loader
        $.ajax({
            type:'post',
            url:'<%=campaignListURL.toString()%>',
            data:{},
            success:function(data){
                $(".main_content").html(data);  // this will hide the loader and replace it with the data                            
            }
        });
    }
于 2012-12-04T05:38:25.283 に答える