0

ページをリロードせずにPOSTするために使用するこのコードがありますが、実行中のスクリプトにこのコードを追加して画像を表示するにはどうすればよいでしょうか。loader.gifの例

ご協力いただきありがとうございます。

<script language="javascript" src="jquery-1.6.4.min.js"></script>
<script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#loading').show();
        $('#result').hide();
    }).ajaxStop(function() {
        $('#loading').hide();
        $('#result').fadeIn('slow');
    });
    $('#form, #fat, #form').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#result').html(data);

            }
        })

        return false;
    }); 
})  
4

4 に答える 4

0

JQueryを使用して、画像をページに追加します。通常、これはユーザーがAJAXリクエストを開始するためにクリックするボタンの近くに追加されます。これにより、ユーザーは、スクリプトの実行中にバックグラウンドで何かが発生していることを確認できます。

または、スクリプトがdocument.readyで実行されているため、最初からイメージを取得し、ajax呼び出しが完了したらイメージを削除することもできます。

于 2012-08-27T18:08:15.937 に答える
0

私が理解しているかどうかはわかりませんが、あなたはそれにかなり近いようです

// #loading could be an img tag pointing to loader.gif or a div containing the img
$('#loading').ajaxStart(function() {
    $(this).show();
    $('#result').hide();
}).ajaxStop(function() {
    $(this).hide();
    $('#result').fadeIn('slow');
});
于 2012-08-27T18:08:53.027 に答える
0

ローダーを非表示のdiv(display:none)に配置すると、使用できるようになります

$('#div').show();

ajaxリクエストの前に、成功コールバックで再び非表示にします。

$('#div').hide();
于 2012-08-27T18:09:30.107 に答える
0

関数の最初の行でsubmit

$('#loadingImg').show();

successコールバック関数の最初の行:

$('#loadingImg').hide();
于 2012-08-27T18:09:49.937 に答える