0

当サイトではjQuery フォーム プラグインを使用しています。すべてのフォームで送信が発生したときに、読み込み中の gif を表示できるようにする必要があります。これまでのところ、次のようにこれを行うことができました

    $("#uploadAssetImageForm").ajaxForm({
        dataType: 'json',
        beforeSubmit: function () {Cvrs.SetLoading(true, '#uploadAssetImageForm')},
        success: function(asset) {
            Cvrs.SetLoading(false, '#uploadAssetImageForm');
        $("#uploadAssetImageDiv").dialog("close");
            $(":input", "#uploadAssetImageDiv").not(':button, :submit, :reset').val('').removeAttr('checked').removeAttr('selected');
            ReplaceAsset(asset);

        }
    });

特に、私が話している部分は、 beforeSubmit 関数と、成功時にそれを false に設定するための呼び出しです。

読み込みを設定すると、読み込み中の gif と無効なフォーム ボタンが表示されるだけです

function(isLoading, form) {

isLoading ? $(form + ' input[type="submit"]').attr("disabled", true) :
    $(form + ' input[type="submit"]').removeAttr("disabled");


isLoading ? $(form + ' .loading-animation').show() :
    $(form + ' .loading-animation').hide();

ajaxform への呼び出しを取得して beforeSubmit でそのコードを実行し、そこにある可能性のある他のコードと共に成功する方法はありますか (最初に読み込みを実行します)、または各ケースを実行して追加する必要がありますか?これで?

各フォームに読み込み参照を配置する必要があることは理解していますが、異なるフォームでは異なる場所に読み込みgifが必要になる可能性があるため、これは理にかなっています

4

1 に答える 1

0

ajaxSendイベントの使用を検討してください。AJAX send イベントが発生する前に発生します。

$(document).bind('ajaxSend', function(e, request, options) {
    Cvrs.SetLoading(true, '#uploadAssetImageForm');
});

それが役立つことを願っています!

于 2012-06-03T23:30:25.660 に答える