簡體   English   中英

jQuery ajaxform全局函數

[英]jquery ajaxform global functions

我們正在網站上使用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

您可以考慮使用ajaxSend事件。 在觸發AJAX發送事件之前觸發:

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

希望對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM