10-02-2011, 08:29 AM
(Modification du message : 10-02-2011, 08:32 AM par Sephi-Chan.)
Un autre excellent moyen de nettoyer son code est d'utiliser le script jQuery UJS (pour Unobstrusive Javascript).
Il permet de bien limiter l'écriture de code en utilisant intelligemment les attributs data.
Il permet d'écrire des choses comme (là je combine le tout !) :
Qui vont générer automatiquement un appel Ajax vers l'URL quand le formulaire sera soumis (après avoir validé le message de confirmation) en demandant du JSON au serveur. Le bouton sera ensuite désactivé pour éviter le double-clic et son contenu sera remplacé par "Saving…".
Si on veut ajouter des callbacks à certaines événements, on peut les intégrer au cycle de vie de la requête en les définissant ainsi :
Les événements disponibles sont ajax:beforeSend, ajaxuccess, ajax:complete et ajax:error.
Voilà donc un excellent moyen de produire un code de meilleur qualité tout en réduisant beaucoup la quantité de code à saisir.
N'hésitez pas à lire le code source de jQuery UJS, c'est très simple et il y a beaucoup à apprendre !
Encore une perle issue de la communauté Ruby on Rails !
Sephi-Chan
Il permet de bien limiter l'écriture de code en utilisant intelligemment les attributs data.
Il permet d'écrire des choses comme (là je combine le tout !) :
<form id="the-form" action="..."
data-remote="true"
data-type="json"
data-confirm="Really?"
data-disable-with="Saving…">
...
</form>
Qui vont générer automatiquement un appel Ajax vers l'URL quand le formulaire sera soumis (après avoir validé le message de confirmation) en demandant du JSON au serveur. Le bouton sera ensuite désactivé pour éviter le double-clic et son contenu sera remplacé par "Saving…".
Si on veut ajouter des callbacks à certaines événements, on peut les intégrer au cycle de vie de la requête en les définissant ainsi :
$("#the-form").live('ajaxuccess', function(data){
...
});
Les événements disponibles sont ajax:beforeSend, ajaxuccess, ajax:complete et ajax:error.
Voilà donc un excellent moyen de produire un code de meilleur qualité tout en réduisant beaucoup la quantité de code à saisir.
N'hésitez pas à lire le code source de jQuery UJS, c'est très simple et il y a beaucoup à apprendre !
Encore une perle issue de la communauté Ruby on Rails !
Sephi-Chan