[RESOLU] Probleme avec menus déroulant en HTML - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 

Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [RESOLU] Probleme avec menus déroulant en HTML
 
Profil : IDNaute
Plus d'informations

Re bonjour c'est encore moi avec mes questions (debiles surement ;) )
voila dans ma page HTML j'ai un menu déroulant et j'aimerais que lorsque l'on choisit une des options de ce menu déroulant un autre apparaissent ( a coté ou en bas peu importe) en fonction du choix fait au premier menu déroulant.
Je m'explique:
Menu déroulant 1 : choix 1 , choix 2
Si choix 1 cliqué => afficher menu déroulant 2
Si choix 2 cliqué => afficher menu déroulant 3

Je pense que dans le code il doit avoir un rapport avec le "onclick" mais je n'y arrive pas....
si l'un de vous pourrait m'aider ou me dire où je pourrai trouver un code de ce genre ce serait gentil.
merci d'avance

PS: j'aurai une autre question que je poserai ici dès que j'aurai la réponse a ma premiere pour eviter de créer plein de topic ^_^

Liens spon sorisés

Inscrivez-vous ou connectez-vous pour masquer ceci.

Profil : IDNaute
Plus d'informations

On pourrait voir le code, ce serait plus simple ^o^

Profil : IDNaute
Plus d'informations

suffit de demander ^_^

Code :
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. Vous vouloir les personnes enregistrées à / aux :
  6. <form method="post" action="abo_pros.php">
  7.     <select name="bdd" id="choix">
  8.       <option name="abonnements">abonnements</option>
  9.       <option name="la prospection">la prospection</option>
  10.       </select>
  11. <input type="submit" name="validation" value="valider" >
  12. </form>
  13. </body>
  14. </html>



voili voilou. Pour l'instant c'est une page simple mais j'aimerais que lorsque l'on clique sur un des deux choix ben cela fasse apparaître un autre menu deroulant (en fonction de choix cliqué). C'est la mon probleme je ne sais pas comment faire...
Je me dis qu'il doit peut etre y avoir du javascript la desous mais c'est mon grand ami celui la ;-)

Developpeur internet
Profil : IDNaute
Plus d'informations

Essaye ca :

<html>
<head>
</head>
<body>
Vous vouloir les personnes enregistrées à / aux :
<?
if($bdd=="" )
{
?>
<form name="form1" method="post" action="abo_pros.php">
<select name="bdd" id="choix">

<option name="abonnements">abonnements</option>
<option name="la prospection">la prospection</option>
</select>
<input type="submit" name="validation" value="valider" >
</form>
<?
}
elseif($select2=="" )
{
?>
<!-- Si tu veux reafficher le premier select avec la valeur selectionnée-->
<form name="form1" method="post" action="abo_pros.php">
<select name="bdd" id="bdd">

<option name="abonnements" <? if($bdd=="abonnements" )echo "selected";?>>abonnements</option>
<option name="la prospection" <? if($bdd=="la prospection" )echo "selected";?>>la prospection</option>
</select>
<!-- 2eme select -->
<input type="submit" name="validation" value="valider" >
</form>
<form name="form2" method="post" action="abo_pros.php">
<select name="select2" id="select2">

<option name="1">option 1</option>
<option name="2">option 2</option>
</select>

<input type="submit" name="validation" value="valider" >
</form>

<?
}
else
{
?>
etc......
<?
}
?>
</body>
</html>

Profil : IDNaute
Plus d'informations

merci beaucoup pour ton code guizmo mais malheureusement ce n'est pas le resultat que j'aimerais avoir.
Si possible j'aimerais que lorsque l'on choisit "les abonnés" (1er menu deroulant) un second apparaisse en dessous du 1er avec des choix et tout et tou mais que le 3eme ne soit pas afficher tout en gardant le 1er menu afficher.
Et que lorsque l'on choisit "la prospection" (1er menu deroulant) le 3eme apparaisse toujours avec des choix mais que le deuxieme ne soit pas afficher....

merci encore d'avance

Developpeur internet
Profil : IDNaute
Plus d'informations

Voilà qui devrait mieux répondre à ta demande :
<html>
<head>
</head>
<body>
Vous vouloir les personnes enregistrées à / aux :
<?
if($bdd=="" )
{
?>
<form name="form1" method="post" action="abo_pros.php">
<select name="bdd" id="choix">

<option name="abonnements">abonnements</option>
<option name="la prospection">la prospection</option>
</select>

<input type="submit" name="validation" value="valider" >
</form>
<?
}
elseif($select2=="" && $bdd=="abonnements" )
{
?>
<!-- Si tu veux reafficher le premier select avec la valeur selectionnée-->
<form name="form1" method="post" action="abo_pros.php">
<select name="bdd" id="bdd">

<option name="abonnements" <? if($bdd=="abonnements" )echo "selected";?>>abonnements</option>
<option name="la prospection" <? if($bdd=="la prospection" )echo "selected";?>>la prospection</option>
</select>
<!-- 2eme select -->
<input type="submit" name="validation" value="valider" >
</form>
<form name="form2" method="post" action="abo_pros.php">
<select name="select2" id="select2">

<option name="1">option 1</option>
<option name="2">option 2</option>
</select>

<input type="submit" name="valider2" value="valider" >
</form>

<?
}
elseif($select2=="" && $bdd=="la prospection" )
{
?>
<!-- Si tu veux reafficher le premier select avec la valeur selectionnée-->
<form name="form1" method="post" action="abo_pros.php">
<select name="bdd" id="bdd">

<option name="abonnements" <? if($bdd=="abonnements" )echo "selected";?>>abonnements</option>
<option name="la prospection" <? if($bdd=="la prospection" )echo "selected";?>>la prospection</option>
</select>
<!-- 2eme select -->
<input type="submit" name="validation" value="valider" >
</form>
<form name="form2" method="post" action="abo_pros.php">
<select name="select2" id="select2">

<option name="1">option 1</option>
<option name="2">option 2</option>
</select>

<input type="submit" name="valider2" value="valider" >
</form>

<?
}
?>
</body>
</html>

Profil : IDNaute
Plus d'informations

Tu peux jouer avec de lajax ou avec les style visibility pour eviter de recharger la page, ca fait plus jolie ;)

Profil : IDNaute
Plus d'informations

euuuuh tu va surement vouloir m'etrangler mais c'est toujours pas ca....
en fait je ne veux pas que les 2eme et 3eme (et les autres) menu déroulant soient apparants au chargement de la page.
J'aimerais qu'il apparaissent uniquement lorsque l'on clique sur un des choix du 1er menu là est tout mon probleme...

EDIT pour Mout: euh kézako lajax ou style visibility?
visibility est une commande CSS, PHP...?

Developpeur internet
Profil : IDNaute
Plus d'informations

Euh désolé mais là je comprend pas bien.
Si tu valide ton premier select le second apparait suivant le choix que tu as fait dans le premier.

Exemple si tu choisis abonnements un select apparait
si tu choisis la prospection un select different apparait.

C'est bien ca que tu veux faire ?

Profil : IDNaute
Plus d'informations

Ouais utiliser Ajax serait le top, mais si tu n'arrive pas a faire ton onclick oublie un petit moment, ou deja il faut que tu arrives à faire ce que tu veux. Désolé j'ai pas tout lu (en particulier le code proposé), mais effectivement il faut que tu utilise onclik et ce onclick recharge la page avec des paramètres passés en GET.

En fonction des paramètres tu affiches ce que tu veux rien de plus simple, je reste à dispo apres la pasue du midi :d

Profil : IDNaute
Plus d'informations

pour Guizmo: oui c'est tout a fait cela que je veux faire mais le code que tu me donne affiche directement tout les menus deroulants donc c'est pour cela que je disais que ca ne marchait pas....

pour imer: le onclick je ne le connais pas trop. mais j'aimerais bien m'en servir si tu connais un site/ code que je pourrais voir ce serait gentil.
Pour ce qui est de Ajax je ne connais pas qu'est ce que c'est?

http://127.0.0.1
Profil : IDNaute
Plus d'informations

sinon il y a la possibilité de le faire uniquement en javascript, si les menus sont toujours les mêmes (et pas tirés d'une DB).

Je retrouverais ce soir un JS que j'avais fait à une époque fort reculée :)

Developpeur internet
Profil : IDNaute
Plus d'informations

Soit tu as mal copier mon code soit il n'est pas interpreté car moi cela fonctionne sur mon test :-?

Profil : IDNaute
Plus d'informations

guizmo=> j'ai fait un copier/coller de ton code donc je comprend pas trop....


meric crazy cat mais je pense que ca va coller car il faut que je consulte une base de données donc le javascript risque de ne pas trop marcher :-s

Profil : IDNaute
Plus d'informations

Code :
  1. <select onclick="javascript:document.getElementById('nom').style.visibility=visible;">....</select>
  2. <div id='nom' style="visibility:hidden"><select....</div>

Developpeur internet
Profil : IDNaute
Plus d'informations

Alors là c'est très bizarre :-o
Je comprend pas du tout. J'ai refait le test en prenant le code que j'ai collé, modifié mes "input" et ca marche chez moi.

Profil : IDNaute
Plus d'informations

euh .... apres quelques essais non concluants.....
la balise select avec le javascript doit bien etre dans le premier menu deroulant c'est ca?

ensuite la balise "div" doit regrouper le deuxieme ou troisieme menu déroulant a cacher c'est ca?

question: dans le getElementById('nom') le fameux nom correspond a quoi? l'attribut name que j'ai donné dans les options de mon 1er menu déroulant?

EDIT pour guizmo: oui j'ai modifier les input dans le code (j'avais pas vu que la balise était mal faite) mais je vais continuer d'essayer...

EDIT pour naphtaline: oui je connais du code HTML, le PHP j'apprend ca TRES activementdepuis avant hier. Le javascript je connais bien mais c'est pas mon ami donc j'ai du mal ;-)

Profil : IDNaute
Plus d'informations

lu all, j'ai remarquez que vous lui balancez du code php, tres bien j'aurais fait de même mais avant je me serait assuré qu'il sait ce que sait et que c'est un language interprété. Enfin peut ^tre qu'il le sait et que mon poste est inutile mais vu que le probleme est pas resolu on sait jamais.

Profil : IDNaute
Plus d'informations

apres moultes essais rien n'y fait ca ne marche pas.

le deuxieme code de guizmo afficher directement les cinq menus déroulant. j'ai essayé d'y modifier rien n'y fait.

pour le bout de javascript ben je l'ai mis un peu partout (en reflechissant bien sur). j'arrive a cacher un menu deroulant mais je n'arrive plus a le faire ré apparaitre surement une erreur bete que je ne comprend pas.

si vous pouviez essayer