2012-06-03 8 views
0

Мы используем jQuery form plugin на нашем сайте. Мы должны иметь возможность отображать загрузочный gif, когда submit встречается во всех формах. До сих пор я был в состоянии получить это сделано как следующийjquery ajaxform глобальные функции

$("#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 и вызов снова установить его на ложный на успех.

Set загрузка просто показывает загрузку 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 в разных местах

ответ

0

Вы можете рассмотреть возможность использования ajaxSend события. Он срабатывает до того, как будет отправлено событие отправки AJAX:

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

Надеюсь, это поможет!

+0

Мне нужно было привязать это обратно к форме каким-то образом, хотя я только активен в загрузке gif в этой одной форме, возможно, эти параметры дадут мне доступ к информации, посмотрите –

+0

@ DanielPowell Вы можете напрямую связать форма, а не документ, который может работать в зависимости от того, как вы планируете завязать обратно. – dSquared

+0

Кажется, что даже если я привяжу его непосредственно к форме, когда на странице появится еще один запрос ajax, он позволит включить его в форму, нужен способ указать только аякс-запросы, происходящие из форм (к сожалению, у них разные URL-адреса) –

Смежные вопросы