2010-07-27 9 views
0

Je souhaite qu'une boîte de dialogue modale indiquant "Please wait, calculating" apparaisse alors que jquery.ajax calcule le prix des produits, afin de ne pas ennuyer les utilisateurs. J'ai essayé les fonctions ajaxStart() et ajaxStop(), mais cela ne fonctionne pas correctement. S'il vous plaît quelqu'un peut-il me donner des conseils sur ce que je fais mal?Utilisation de jquery ui dialog avec jquery ajax

Voici le code:

var form = document.forms["orderDefinition"]; 

form.elements["formChangeRequest"].value = "true"; 
$.ajax({ 
    type: "POST", 
    url: "ajax/possibleValues.html", 
    data: $("form#orderDefinition").serialize(), 
    success: function(response){ 
    $('#usercontent .sleeve .toprow').html(response); 
    applyValidation(); 
    } 
}); 

$("#waitingMsg").ajaxStart(function(){ 
     $(this).dialog({modal: true}); 
    }).ajaxStop(function(){ 
     $("#waitingMsg").hide(); 
}); 

Un grand merci

Répondre

1

Vous pouvez utiliser 'beforeSend' et callbacks 'complète' de .ajax()

De la documentation,

« beforeSend est appelé avant que la demande est envoyée, et est passé le Objet XMLHttpRequest en tant que paramètre. complete est appelée lorsque la demande se termine, qu'elle soit en panne ou qu'elle ait réussi . "