11-10-2010, 07:45 PM
(Modification du message : 11-10-2010, 07:57 PM par Sephi-Chan.)
Avec jQuery, ce que je faisais :
Et maintenant, avec jQuery Unobstrusive Javascript (écrit pour Rails mais utilisable avec n'importe quoi), je fais ça côté HTML en mettant l'attribut data-remote à true pour que la requête soit faîte en Ajax automatiquement :
Et côté Javascript, ici je veux définir des hook en début et fin de la requête, donc je définis sur mon formulaire des écouteurs personnalisés, lancés automatiquement au cours du cycle de vie de la requête Ajax :
Sephi-Chan
$('#create-user').submit(function(event){
event.preventDefault();
$(this).find('ubmit').attr('disabled', 'disabled');
$.ajax({
url: '...',
success: function(data){
// Si la requête réussit on fait ça.
}
complete: function(){
// Dans tous les cas on réactive le bouton.
$(this).find('ubmit').removeAttr('disabled');
}
})
});
Et maintenant, avec jQuery Unobstrusive Javascript (écrit pour Rails mais utilisable avec n'importe quoi), je fais ça côté HTML en mettant l'attribut data-remote à true pour que la requête soit faîte en Ajax automatiquement :
<form action="url" id="create-user" data-remote="true" method="post">
<!-- ... -->
</form>
Et côté Javascript, ici je veux définir des hook en début et fin de la requête, donc je définis sur mon formulaire des écouteurs personnalisés, lancés automatiquement au cours du cycle de vie de la requête Ajax :
$('#create-user').bind({
'ajax:loading': function(){
$(this).find('ubmit').attr('disabled', 'disabled');
},
'ajax:complete': function(){
$(this).find('ubmit').removeAttr('disabled');
}
);
Sephi-Chan