[RESOLU] Probleme avec menus déroulant en HTML
Dernière réponse : dans Programmation
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 ^_^
)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 ^_^
Autres pages sur : resolu probleme menus deroulant html
Lassé par la pub ? Créez un compte
suffit de demander ^_^
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 ;-)
<html> <head> </head> <body> Vous vouloir les personnes enregistrées à / aux : <form 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> </body> </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 ;-)
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>
<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>
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
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
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>
<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>
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...?
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...?
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
En fonction des paramètres tu affiches ce que tu veux rien de plus simple, je reste à dispo apres la pasue du midi
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?
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?
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 ;-)
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 ;-)
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 de m'aider encore je vous en serait infiniment reconnaissant.
un homme au bord de la crise de nerf et de la pendaison ;-)
je suis pret a éditer ce message si vous voulez voir les codes que vous m'avez donné et que j'ai modifié...
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 de m'aider encore je vous en serait infiniment reconnaissant.
un homme au bord de la crise de nerf et de la pendaison ;-)
je suis pret a éditer ce message si vous voulez voir les codes que vous m'avez donné et que j'ai modifié...
Je vais pas détailler comment appeler une fonction javascript, je considere que ça tu y arrives
ensuite dans TA_PAGE.php tu controles les traitements
Essaie pas de copier/coller ça marchera pas
Pour ce qui est de ajax tu peux afficher les listes deroulantes comme tu le souhaites sans recharger la page, de maniere quasi instantané avec un message de chargement si besoin pour informer l'utilisateur que le navigateur travail
function reload_page() { i=document.NOM_FORMULAIRE.NOM_LISTE_DEROULANTE.value; location.replace('TA_PAGE.php?id_liste='+i); }
ensuite dans TA_PAGE.php tu controles les traitements
if($_GET['id_liste']=="ce que tu veux") { //afiche liste deroulante correspondante }
Essaie pas de copier/coller ça marchera pas
Pour ce qui est de ajax tu peux afficher les listes deroulantes comme tu le souhaites sans recharger la page, de maniere quasi instantané avec un message de chargement si besoin pour informer l'utilisateur que le navigateur travail
euh...
dans la fonction reload_page:
location.replace (Ta_PAGE.php?id_liste='+i);
le probleme est que je travaille sur une page html....
j'ai un premier menu (dans une page html) qui fait apparaitre un deuxieme menu en fonction des choix du premier (toujours en html).
et enfin les choix possibles dans le deuxieme menu utiliserons du PHP qui va interroger une base de données.
PS: j'ai peut etre mal compris le java script (oui car je suis pas copain avec java script ^^ ) ou d'autre truc....
dans la fonction reload_page:
location.replace (Ta_PAGE.php?id_liste='+i);
le probleme est que je travaille sur une page html....
j'ai un premier menu (dans une page html) qui fait apparaitre un deuxieme menu en fonction des choix du premier (toujours en html).
et enfin les choix possibles dans le deuxieme menu utiliserons du PHP qui va interroger une base de données.
PS: j'ai peut etre mal compris le java script (oui car je suis pas copain avec java script ^^ ) ou d'autre truc....
lol imer j'avais prévenu que javascript etait pas mon copain ;-)
Mout59 => c'est bien ce que je pensais mais cela ne marche pas. J'ai d'abord eu un message d'erreur qui me disait que la method POST etait interdite dans mon premier formulaire (logique j'ai supprimé "action" ). Et lorsque je clique sur le bouton valider (qui devrait m'afficher le menu cacher par la fonction javascript) le menu déroulant ne s'affiche pas.
Voici le code que j'ai avec le code que tu m'a donné pour cacher un bout de formulaire...
Mout59 => c'est bien ce que je pensais mais cela ne marche pas. J'ai d'abord eu un message d'erreur qui me disait que la method POST etait interdite dans mon premier formulaire (logique j'ai supprimé "action" ). Et lorsque je clique sur le bouton valider (qui devrait m'afficher le menu cacher par la fonction javascript) le menu déroulant ne s'affiche pas.
Voici le code que j'ai avec le code que tu m'a donné pour cacher un bout de formulaire...
<html> <head> </head> <body> Vous vouloir les personnes enregistrées à / aux : <form> <select name="bdd" id="choix" onclick="java script:document.getElementById('nom').style.visibility=visible;"> <option name="abonnements">abonnements</option> <option name="la prospection">la prospection</option> </select> <input type="submit" name="validation" value="valider" > </form> <form method="post" action="abo_pros.php"> <div id='nom' style="visibility:hidden"> <select name="bdd" id="choix"> <option name="abonnements">abonnements</option> <option name="la prospection">la prospection</option> </select> </div> <input type="submit" name="validation" value="valider" > </form> </body> </html>
oui il est vrai que ca marche mieux.
Je n'avais pas compris qu'il fallait mettre ton code dans la page php et non dans la page html.
maintenant j'ai des erreurs:
la premiere etait que la variable $bdd etait pas dèfinie donc j'ai mis ceci
$bdd = $_POST['bdd']
la deuxieme sur laquelle je bloque est la variable $select2
j'ai essayé de la déclarer mais j'ai eu le droit a un joli "parse error".
pourrait tu m'aider (encore) s'il te plait
Je n'avais pas compris qu'il fallait mettre ton code dans la page php et non dans la page html.
maintenant j'ai des erreurs:
la premiere etait que la variable $bdd etait pas dèfinie donc j'ai mis ceci
$bdd = $_POST['bdd']
la deuxieme sur laquelle je bloque est la variable $select2
j'ai essayé de la déclarer mais j'ai eu le droit a un joli "parse error".
pourrait tu m'aider (encore) s'il te plait
d'accord je l'ai déclaré comme il faut je pense:
$select2 = $_POST['select2']
mais dans cette partie du code:
j'ai un message d'erreur qui me dit que j'ai un parse error à la ligne où il y le "elseif"
$select2 = $_POST['select2']
mais dans cette partie du code:
<? } $select2 = $_POST['select2']; 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>
j'ai un message d'erreur qui me dit que j'ai un parse error à la ligne où il y le "elseif"
<html> <head> </head> <body> Vous vouloir les personnes enregistrées à / aux : <? $bdd = $_POST['bdd']; $select2 = $_POST['select2']; 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>
j'ai déplacé la déclarration comme à proposé imer.
Je l'ai supprimé pour voir ce que cela ferait.
Résultat la page ne marchait pas.
Du coup j'ai mis la déclaration de $select2 juste apres la déclaration $bdd (voir mon code que j'ai édité).
Maintenant ma page s'affiche mais j'ai toujours une erreur qui me dit : Undifined index: select2 in le chemin....
à la ligne où j'ai déclaré la variable $selecet2...que veut dire cette erreur et comment la supprimer?
Je l'ai supprimé pour voir ce que cela ferait.
Résultat la page ne marchait pas.
Du coup j'ai mis la déclaration de $select2 juste apres la déclaration $bdd (voir mon code que j'ai édité).
Maintenant ma page s'affiche mais j'ai toujours une erreur qui me dit : Undifined index: select2 in le chemin....
à la ligne où j'ai déclaré la variable $selecet2...que veut dire cette erreur et comment la supprimer?
:crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying: :crying:
(Pleure de joie)
Ca marche!!!!!!!
merci à tous pour votre aide!
Je vous dis à toute à l'heure ou à demain pour un nouveau topic qui va vous occuper votre fin d'apres midi ou votre journée...
;-) ;-) ;-)
(Pleure de joie)
Ca marche!!!!!!!
merci à tous pour votre aide!
Je vous dis à toute à l'heure ou à demain pour un nouveau topic qui va vous occuper votre fin d'apres midi ou votre journée...
;-) ;-) ;-)
Lassé par la pub ? Créez un compte
- Contenus similaires :
- SolutionsProbleme site html/css resolution
- Forum[résolu] PHP/HTML problème checkbox
- SolutionsProblème menu déroulant horizontal
- Forum[Résolu] [HTML/Javascript] Problème boucle for
- Forum[ HTML ]Problème d'espacement entre 2 tableaux (Résolu)
- Forum[Résolu] HTML: Créer une marge, balise <FRAME>, problème de syntaxe :-(
- Forum[résolu] Barre de menus disparue
- Forum[HTML]Menu déroulant
- ForumChanger la couleur du texte d'un menu déroulant en HTML.
- Voir plus