liste déroulante

cla
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 10:04

coucou
j'aimerais créer des évenements dit "dynamiques" lorsque un utilisateur choisit un item de ma liste déroulante.Je pense à utiliser du javascript mais je sais pas en faite.
par exemple dans une liste déroulante contenant des noms, je voudrais que lorsqu'il en séléctionne un,
une autre liste apparaisse en dessous . tout cela sans qu'il ait "valider" son formulaire.
Si vous me suivez, un peu d'aide serait la bienvenue !

Eléphant du PHP | 98 Messages

04 mai 2005, 11:43


Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 14:15

euh en faite il faudrait qu'elle " apparaisse " si on sélectionne parmi les item un en particulier

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 14:19

si tu veux faire "apparaitre" un composant tu peux mettre son code HTML dans une DIV que tu masque/affiche

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 14:27

merci de m'aider mais comment faire pour modéliser l'évenement si on clik sur un élement E précis de ma liste déroulante Alors j'affiche
une autre liste , sachant que le user n'a pas encore valider son formulaire. Et bien sur, s'il change la valeur de sa 1ere liste, lautre disparait.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 14:54

événement à la sélection d'un item dans la liste :
OnChange()

dans ce OnChange(), appeler une fonction qui va regarder quel item a été choisi, et éventuellement afficher la deuxième liste déroulante

Code : Tout sélectionner

function afficherListe() { // récupérer item sélectionné dans la liste // si item sélectionné == A alors // afficher la DIV avec le deuxième liste // sinon // rien ou ce que tu veux }

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 15:13

en dessous de ma premiere liste, je crée ma deuxieme liste encadrée d'un div dont le display est a "none" mais dans ma fonction, comment la remettre a "contraire de none" lol
en faite,comment afficher le contenu de ma div (c a dire une liste déroulante ) ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 15:20

voici ce que j'utilise moi dans un script :

Code : Tout sélectionner

function toggle(divAtester) { if (document.getElementById(divAtester).style.display == "none") { document.getElementById(divAtester).style.display = "block"; } else { document.getElementById(divAtester).style.display = "none"; } }
si la div est affichée, tu la caches, et inversement.

Mais je t'avoue que je ne sais pas exactement à quoi correspond block, tu peux mettre d'autre style, renseigne toi du coté des propriétés des div

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 15:51

attends déja ya un truc que je pige pas moi :
dans mon code j'ai :

Code : Tout sélectionner

<select name ="aaa" onChange="maFunction()"> ....mes options...</select>
ma deuxieme liste

Code : Tout sélectionner

<div diplay:none > <select name ="bbb">..options </select></div>
dans maFunction j'ai :

Code : Tout sélectionner

if(document.formulaire.elements['aaa'].options[document.formulaire.elements['select_ville'].selectedIndex].value == "Autres" )
("Autres" est l'élément qui necessite l'apparition d'une autre liste )


donc une fois dans le if, comment dire que c le <div> de mon deuxieme select ke je dois mettre a "block" comme tu me dis ?

Mammouth du PHP | 19672 Messages

04 mai 2005, 15:56

ajoute un attribut id dans ta balise div et identifie le dans ta fonction JavaScript pour dire que c'est ce bloc là que tu veux changer de display = none à display = inherit par exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 16:11

mmm...je ne vois pas tres bien comment faire pour acceder a mon block
si je rajoute dans
<div display:none id="test" > .mon select.....</div>

pourrais tu me dire quelle est la syntaxe a écrire dans ma fonction javascript pour afficher ce div silteplé ? :oops:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 16:16

comme dans ma fonction :

Code : Tout sélectionner

document.getElementById('test').style.display == none;

Mammouth du PHP | 19672 Messages

04 mai 2005, 16:18

Quand tu vas pointer sur un élément du formulaire avec une instruction comme celle-ci :
document.formulaire.elements['aaa'].options[document.formulaire.elements['select_ville'].selectedIndex].value == "Autres"
Tu modifies une valeur.

Regarde la structure de l'expression et au lieu d'aller vers le formulaire, va vers document.window.test.... etc.
cherche un peu sur le net, je ne suis pas un spécialiste du JavaScript.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

04 mai 2005, 16:28

malgré tous vos efforts , je crois ke je v laisser tomber ca me prends la tete (moi non plus chui pas tres javascript)
merci quand meme a vous deux !
:lol:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 mai 2005, 16:44

dommage d'abandonner là, tu as tou ce qu'il te faut dans ce thread... et tu peux tjrs faire des essais et les poster ici ;)