[英]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.