par
Cyrano » 22 juin 2005, 07:38
Petites explications sur les scripts que j'ai mis dans le forum des développeurs:
Pour la méthode avec JavaScript, ce qu'il faut arriver à comprendre est le schéma suivant: On récupère une liste d'éléments dans un tableau indexé. Pour le moment, on est encore en PHP. Avec PHP, on va écrire la liste obtenue dans un format particulier avec la fonction serialize(). Cette chaine va ensuite être transmise à JavaScript. On utilise quelque chose proche de la programmation objet de JavaScript et la chaine formatée avec serialize() est l'objet qu'on manipule avec le script. Après ça, on utilise un gestionnaire d'évènements onchange() dans la première liste et on appelle la petite fonction JavaScript (le second JavaScript) pour générer la nouvelle liste déroulante.
Ça a l'air complexe, mais en réalité, il faut essayer de suivre pas à pas le fonctionnement pour réaliser que c'est assez simple.
Pour les inconvénients, je l'ai mentionné aussi, c'est mort si JavaScript est désactivé coté client. En revanche c'est beaucoup plus rapide que la méthode 100% PHP à cause des échanges client/serveur à chaque changement sur la première liste puisque là, il faut aller récupérer les informations avec une nouvelle requête.
Le plus difficile à capter avec la méthode JavaScript, c'est le format du tableau et comment le construire à la base en PHP. Mais ce cap passé, on pourrait très bien envisager d'avoir d'autres listes en cascade, la seconde dépendant de la première, la troisième de la seconde, etc...
Voyez dans le
dernier numéro de DirectionPHP (juin 2005) un article gratuit (pdf) sur le JSRS intitué "
Extrait gratuit JSRS : interaction sans rafraîchissement de la page Daniel Lucazeau"
Ça reprend exactement le même thème.
Petites explications sur les scripts que j'ai mis dans le forum des développeurs:
Pour la méthode avec JavaScript, ce qu'il faut arriver à comprendre est le schéma suivant: On récupère une liste d'éléments dans un tableau indexé. Pour le moment, on est encore en PHP. Avec PHP, on va écrire la liste obtenue dans un format particulier avec la fonction serialize(). Cette chaine va ensuite être transmise à JavaScript. On utilise quelque chose proche de la programmation objet de JavaScript et la chaine formatée avec serialize() est l'objet qu'on manipule avec le script. Après ça, on utilise un gestionnaire d'évènements onchange() dans la première liste et on appelle la petite fonction JavaScript (le second JavaScript) pour générer la nouvelle liste déroulante.
Ça a l'air complexe, mais en réalité, il faut essayer de suivre pas à pas le fonctionnement pour réaliser que c'est assez simple.
Pour les inconvénients, je l'ai mentionné aussi, c'est mort si JavaScript est désactivé coté client. En revanche c'est beaucoup plus rapide que la méthode 100% PHP à cause des échanges client/serveur à chaque changement sur la première liste puisque là, il faut aller récupérer les informations avec une nouvelle requête.
Le plus difficile à capter avec la méthode JavaScript, c'est le format du tableau et comment le construire à la base en PHP. Mais ce cap passé, on pourrait très bien envisager d'avoir d'autres listes en cascade, la seconde dépendant de la première, la troisième de la seconde, etc...
Voyez dans le [url=http://www.directionphp.biz/a_la_une.php]dernier numéro de DirectionPHP[/url] (juin 2005) un article gratuit (pdf) sur le JSRS intitué "[i]Extrait gratuit JSRS : interaction sans rafraîchissement de la page Daniel Lucazeau[/i]"
Ça reprend exactement le même thème.