Forum-webmaster
Technique - programmation => Javascript / DOM / Ajax => Message commencé par: Balrog le le 13-03-2006 a 15:15:17

Titre: Alimenter une liste par une autre liste
Posté par: Balrog le le 13-03-2006 a 15:15:17

Salut,

J'ai trouvé un script sur Biblioscript.com qui devrait me permettre de remplir une liste a partir d'une autre liste dans un formulaire.
Ceci marche, mais lorsque j'envoie les résultats, il y a un problème.

CODE DANS LE FORMULAIRE:
<!-- Lancement de la fonction sur changement de la sélection -->
                  <select name="list1" OnChange="populate('Location','list1','list2');">
                  <option value="">Choisissez...</option>
                  
                  <!-- Chaque option prend pour valeur la liste des items voulus dans la liste d'arrivée, séparés par des virgules (,) et re-séparés par des (£) pour les couples 'texte/valeur' -->
                  <option value="Le cinema...£,ET l'extraterrestre£et,Indiana Jones£indy,Misery£misery,James Bond£007">Cinema</option>
                  <option value="Le theatre...£,Boing-boing£boing,Voyage au bout de la nuit£voyage,Le roi Lear£lear">Theatre</option>
                  <option value="La musique...£,Johnny Halliday£con,Mireille Matthieu£conne,Francis Cabrel£babacool,Lara Fabian£debile,Roch Voisine£brute,Patrick Bruel£patriiick">Musique</option>
                  </select>
               <!-- Liste qui contiendra les nouvelles valeurs -->
                  <select name="list2">
                  <option value="">_______________</option>
                  </select>

En guise de valeur pour list1, le mail reçut donne l'intégrlaité de ce qu'il y a dans "value" (donc: Le cinema...£,ET l'extraterrestre£et,Indiana Jones£indy,Misery£misery,James Bond£007), ne peut-ont pas isoler juste cinema ou musique ou...

Je ne maitrise pas du tout le javascript, votre aide serait précieuse.
Merci!

Titre: Re: Alimenter une liste par une autre liste
Posté par: Deny le le 06-04-2006 a 14:51:23

Un peu long à faire...
la valeur ici est un string.
Le cinema...£
Si tu parts de ton option value, la fonction indexOf("£") va te ressortir 12, position comptée à partir de 0.
Ensuite, document.forms[x].elements[y].options[z].value.slice(0,indexOf("£")-1) te ressort Cinéma.
Mais si tu veux la suite il faut repartir de ce qui reste, pour trouver le suivant.
reste = document.forms[x].elements[y].options[z].value.slice(indexOf("£")) Sélectionne toute la fin à partir du 13ème caractère.
x le num du form, y le num du champ (select), z l'indice de l'option.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.