2009-08-24 4 views
4

L'aide Ajax de .NET a la propriété LoadingElementId: String, obtient et définit l'ID de l'élément DOM à afficher pendant le temps nécessaire pour compléter la requête.L'Ajax de jQuery a-t-il quelque chose comme .NET's LoadingElementId

Vous cherchez la manière la plus simple d'implémenter un spinner 'In Process' pour les formulaires soumis via le toolkit Ajax de jQuery.

MNY thx

Répondre

6

Les événements complets beforeSubmit & de .ajax.

Si vous souhaitez effectuer cette opération pour tous les appels ajax, vous pouvez utiliser les événements ajaxStart et ajaxComplete globaux plutôt que de les déclarer à chaque fois.

$.ajax({ 
    url: "test.html", 
    beforeSubmit : showSpinner, 
    complete : hideSpinner, 
    cache: false, 
    success: function(html){ 
    $("#results").append(html); 
    } 
}); 

function showSpinner(){ 

    $('#someElement').show(); 

} 

function hideSpinner(){ 

    $('#someElement').hide(); 

} 


//Using global ajax events 

$.ajaxStart(showSpinner); 
$.ajaxComplete(hideSpinner); 
0

jQuery a beaucoup ajaxEvents. Vous pouvez lier la visibilité d'un élément à ceux-ci.

$.ajaxStart(function(){ showLoading(); }); 
$.ajaxComplete(function(){ hideLoading(); }); 
+0

oui cela est possible, et une solution plus facile que l'ajouter dans le beforeSubmit, bien que cette logique ne fonctionne que lorsque vous avez une fileuse générale ou de donner une carte d'identité en tant que param, vous pouvez spécifier où la fileuse a pour montrer ... si vous avez beaucoup d'événements de chargement différents, je suggère de le faire dans l'autre sens, en l'ajoutant dans le beforeSubmit et sur complète – Sander

Questions connexes