Formulaire avec menus deroulants
Résolu/Fermé
A voir également:
- Formulaire avec menus deroulants
- Formulaire de réclamation facebook - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Confirmation de l'envoi d'un formulaire html ✓ - Forum HTML
- Problème d'envoi de formulaire ✓ - Forum PHP
- Le formulaire rempli - Guide
5 réponses
Salut,
Si ton fichier s'appelle formulaire.php
tu fais;
Voila a qqs erreur de frappe pres, je n'ai pas d'editeur php sous la main et en plus je galere avec un clavier qwerty !
Le principe est que au choix dans la liste 1 (onClick=submit) on envoie le formulaire et en fonction du choix on affiche le contenu d'un array ou l'autre dans la deuxieme liste
Si tu changes de nom de fichier penses a changer action="........"
Dans la premiere liste <option ......... le if($filiere==$value) echo 'selected' sert a garder le choix au reafichage du formulaire.
Tu peux rajouter d'autres array bien sur
@lain
Si ton fichier s'appelle formulaire.php
tu fais;
<?php //initialisation des tableaux $array_filiere=array('banque','infogestion'); $array_banque=array('compta', 'maths' fine); $array_infogestion=array('algo',' uml '); if(isset($_POST['filiere'])){ $filiere=$_POST['filiere']; }else{$filiere=""; } ?> <form name="formulaire1" method="post" action="formulaire.php"> <select name="filiere" onClick=submit();> <?php foreach ($array_filiere as $value){ ?> <option value="<?php echo $value; ?>" <?php if($filiere==$value){echo "slected";}><?php echo $value; ?> </option> <?php } ?> </select> <br> <?php // si on a selectionne dans la premiere liste on va afficher la deuxieme if(isset($_POST['filiere'])){ // on determine quel array en fonction du choix switch ($filiere){ case "banque": $array2=$array_banque; break; case "infogestion": $array2=$array_infogestion; break; } // on affiche la liste ?> <select name="matieres"> <?php foreach ($array2 as $value){ ?> <option value="<?php echo $value; ?>" ><?php echo $value; ?> </option> <?php } ?> </select> <?php } ?> </form>
Voila a qqs erreur de frappe pres, je n'ai pas d'editeur php sous la main et en plus je galere avec un clavier qwerty !
Le principe est que au choix dans la liste 1 (onClick=submit) on envoie le formulaire et en fonction du choix on affiche le contenu d'un array ou l'autre dans la deuxieme liste
Si tu changes de nom de fichier penses a changer action="........"
Dans la premiere liste <option ......... le if($filiere==$value) echo 'selected' sert a garder le choix au reafichage du formulaire.
Tu peux rajouter d'autres array bien sur
@lain
Resalut,
comme ceci ca devrait mieux fonctionner:
Avec onChange ca irra mieux !
Si tes listes ont plus d'items tu modifies les $array_.......
@lain
comme ceci ca devrait mieux fonctionner:
<?php //initialisation des tableaux $array_filiere=array('banque','infogestion'); $array_banque=array('compta', 'maths' fine); $array_infogestion=array('algo',' uml '); if(isset($_POST['filiere'])){ $filiere=$_POST['filiere']; }else{$filiere=""; } ?> <form name="formulaire1" method="post" action="formulaire.php"> <select name="filiere" onChange=submit();> <option value="-1">-- Choisissez --</option> <?php foreach ($array_filiere as $value){ ?> <option value="<?php echo $value; ?>" <?php if($filiere==$value){echo "slected";}><?php echo $value; ?> </option> <?php } ?> </select> <br> <?php // si on a selectionne dans la premiere liste on va afficher la deuxieme if(isset($_POST['filiere'])){ $filiere=$_POST['filiere']; if($filiere=="-1"){ echo "<br><font color='red'>Veuillez selectionner une filiere !</font>"; }else{ // on determine quel array en fonction du choix switch ($filiere){ case "banque": $array2=$array_banque; break; case "infogestion": $array2=$array_infogestion; break; } // on affiche la liste ?> <select name="matieres"> <option value="-1">-- Choisissez --</option> <?php foreach ($array2 as $value){ ?> <option value="<?php echo $value; ?>" ><?php echo $value; ?> </option> <?php } ?> </select> <?php } } ?> </form>
Avec onChange ca irra mieux !
Si tes listes ont plus d'items tu modifies les $array_.......
@lain
salut alain et merci pour ton code. je te signale que ton code marche bien. seulement y'a un petit problème, en fait mon formulaire ne contient pas juste ces deux champs, il y'a d'autres champs aussi à remplir(nom, prenom,...), alors je me rend compte qu'avec ton code le submit est remplacé par la selection d'une filiere. or dans le formulaire il y'a un bouton "envoyer" qui permet de valider le formulaire aprè remplissage de tous les champs. du coup je ne sais plus ce que je dois mettre au niveau de action=".....", afin de recuperer touts ces infos.
y'a t-il un moyen de regler cela?
encore merci d'avance
y'a t-il un moyen de regler cela?
encore merci d'avance
Salut,
tu laisses action= comme c'est
if(isset($_POST['filiere'])){
$filiere=$_POST['filiere'];
}else{$filiere="";
}
if(isset($_POST['nom'])){
$nom=$_POST['nom'];
}else{$nom="";
}
if(isset($_POST[pre'nom'])){
$prenom=$_POST['prenom'];
}else{$prenom="";
}
etc....
dans les autres input tu mets:
<input type="text" name="nom" value="<?php echo $nom; ?>">
<input
<input name="prenom" value="<?php echo $prenom; ?>">
etc... ainsi lorsque le formulaire sera poste par le submit de la liste on ne les perdra pas
tu mets qd même un bouton submit dans ton formulaire
<input type="submit" name="envoyer" value="Soumettre">
et dans ton fichier formulaire.php:
tu rajoutes une condition
if($_POST['envoyer']=="Soumettre"){ // attention adaptes en fonction de ce que tu mets dans ton bouton comme value
// tes instructions de traitement des valeurs du formulaire
}
tu laisses action= comme c'est
if(isset($_POST['filiere'])){
$filiere=$_POST['filiere'];
}else{$filiere="";
}
if(isset($_POST['nom'])){
$nom=$_POST['nom'];
}else{$nom="";
}
if(isset($_POST[pre'nom'])){
$prenom=$_POST['prenom'];
}else{$prenom="";
}
etc....
dans les autres input tu mets:
<input type="text" name="nom" value="<?php echo $nom; ?>">
<input
<input name="prenom" value="<?php echo $prenom; ?>">
etc... ainsi lorsque le formulaire sera poste par le submit de la liste on ne les perdra pas
tu mets qd même un bouton submit dans ton formulaire
<input type="submit" name="envoyer" value="Soumettre">
et dans ton fichier formulaire.php:
tu rajoutes une condition
if($_POST['envoyer']=="Soumettre"){ // attention adaptes en fonction de ce que tu mets dans ton bouton comme value
// tes instructions de traitement des valeurs du formulaire
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question