2010-11-22 8 views
9

Fondamentalement, je veux montrer un gif de chargement ...

est ici le code que je utilise:

$("#mail-change input[type=submit]").click(function(event){ 

$.post('user_settings.php', $("#mail-change").serialize(), function(res) { 

$(res).insertBefore(".grey"); 

}, 'html') 

}); 

Répondre

14
$("#loading").ajaxStart(function() { 
    $(this).show(); 
}).ajaxStop(function() { 
    $(this).hide(); 
}); 

EDIT:

$("#mail-change input[type=submit]").click(function(event){ 
    $("#loading").show() 
    $.post('user_settings.php', $("#mail-change").serialize(), function(res) { 
     $(res).insertBefore(".grey"); 
     $("#loading").hide(); 
    }, 'html'); 
}); 

ou:

$.ajax({ 
    url : 'user_settings.php', 
    data: $("#mail-change").serialize(), 
    beforeSend: function(){ 
    $("#loading").show(); 
    }, 
    complete: function(){ 
    $("#loading").hide(); 
    }, 
    success: function(res) { 
    $(res).insertBefore(".grey"); 
    } 
}); 

Voir:

+0

Merci pour la réponse. – pete

+0

Merci pour la réponse. Le problème est que j'ai plusieurs formes avec des demandes $ .post sur la page .... Ce code serait déclenché par l'une des demandes $ .post – pete

+0

@pete - dans ce cas, je suggère de révéler l'indicateur de chargement juste avant le '$ .post' et le cacher à nouveau dans le rappel de succès. S'il vous plaît voir mon edit. – karim79

Questions connexes