我们在我们的网站上使用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
发布于 2012-06-04 07:30:26
您可以考虑使用ajaxSend事件。它在AJAX发送事件被触发之前触发:
$(document).bind('ajaxSend', function(e, request, options) {
Cvrs.SetLoading(true, '#uploadAssetImageForm');
});我希望它能有所帮助!
https://stackoverflow.com/questions/10874639
复制相似问题