jquery ajaxform全局函数

时间:2012-06-03 23:02:06

标签: javascript ajax jquery

我们正在使用我们网站上的jQuery form plugin。我们需要能够在所有表单上发生提交时显示加载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

1 个答案:

答案 0 :(得分:0)

您可以考虑使用ajaxSend事件。它在AJAX发送事件被触发之前触发:

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

我希望它有所帮助!