Liste déroulante inactive
Bonjour Cyrano,
je sollicite une fois de plus ton aide car je m'arrache les cheveux sur des listes déroulantes.
Voici la situation:
J'ai une page back office qui me permet d'ajouter un nouveau produit dans ma base de données Cette page est sous forme d'un formulaire.
Su cette même page, je fais appel à différentes listes déroulantes que j'ai défini sous forme de fonctions. Ces listes déroulantes sont générée à partir de requetes sur différentes tables.
Exemple: la liste "catégorie" liste toutes les catégories disponibles. Je recharge la page à l'aide d'un onchange de façon à récupérer le choix de l'utilisateur. Pour cette même partie catégorie, on peut ajouter à l'aide de champs une nouvelle catégorie si elle n'existe pas (on rafraîchit la page et la nouvelle catégorie se retrouve dans la liste) .
J'ai donc comme cela 3 à 4 listes déroulantes (appel de fonction) sur la même page.
J'ai déjà utilisé cette technique et tout fonctionnait parfaitement mais ici j'ai un souci.
Pour la première liste auquel je fais appel, peu importe laquelle, la page ne se recharge pas et je ne sais donc pas récupérer la valeur choisie. A noter que les suivantes (donc juste après) fonctionnent parfaitement.
J'en déduis donc qu'il doit s'agir d'une balise mal fermée dans mon code ou quelque chose comme ça qui rend inactif la première liste. Malheureusement, je ne vois pas quoi.
Voici pour commencer une de mes fonctions :
function ChooseCategorie(){ echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" id="Selectcategorie">'; ?><SELECT name="categorie" id="categorie" value="0" size="1" style="width:200px;" onChange="document.forms['Selectcategorie'].submit();"> <?php echo '<OPTION>Sélectionnez une categorie</OPTION>'; $sql_categorie = mysql_query("SELECT * FROM t_categorie_cat ORDER BY cat_nom ASC") or die(mysql_error()); while ( $donnees_categorie = mysql_fetch_array($sql_categorie) ) { echo '<OPTION value='.$donnees_categorie['cat_id'].'>'.$donnees_categorie['cat_code'].' - '.ucfirst($donnees_categorie['cat_nom']).'</OPTION>'; } echo '</SELECT><br />'; echo '</form>';}
Et puis le code HTML Généré par le navigateur:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head><!-- Balises Meta --><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Style-Type" content="text/css" /><meta name="language" content="fr" /><!-- Balises Meta FIN--><!-- Feuilles de style principales --><link rel="stylesheet" type="text/css" href="_css/base.css" media="screen" /><link rel="stylesheet" type="text/css" href="_css/_fr/stylesheet-fr.css" media="screen" /><link rel="stylesheet" type="text/css" href="_css/_fr/style-menu.css" media="screen" /><link rel="stylesheet" type="text/css" href="_css/_fr/style-fonctions-fr.css" media="screen" /><!-- Feuilles pour slide --><link rel="stylesheet" type="text/css" href="_css/layout.css" /><link rel="stylesheet" type="text/css" href="_css/style.css" /></head><body><!-- Début Code page --><div id="global"> <!-- div Menu_top--> <div class="menu_top"> <ul> <li> <h3><a href="index.php" >Home</a></h3> </li> <li> <h3><a href="contact-lampes-led.php" >Contact</a></h3> </li> <li> <h3><a href="sitemap.php" >Sitemap</a></h3> </li> <li> <a href="#"><img src="../../_images/drapeaux-nl.png" alt="drapeaux-nl" width="31" height="25" ></a></li> </ul> </div> <!-- Fin de div Menu_top--> <!-- div Header - logo--> <div class="header"> <a href="index.php"> <img src="../../_images/logo_lampes_led.png" alt="logo_lampes_led" width="282" height="144" /> </a> <img src="../../_images/banner_green.png" alt="banner_green" width="678" height="144" id="banner" /> <div class="box-log"> <table id="tab-log" border="0"> <thead> <tr> <th colspan="2"><img src="../../_images/user_accept.png" alt="user_accept" width="40" height="38" /></th> </tr> </thead> <tbody> <tr> <td></td> <td rowspan="2"><form action="/_gestion/new-product.php" method="post"> <input type="submit" name="logout" value="Logout" id="log-bouton"/> </form></td> </tr> <tr> <td>xxxx</td> </tr> <tr> <td>Vous êtes connecté</td> <td></td> </tr> </tr> </tbody> </table> </div> <div class="panier"> <table class="tab-panier" border="0"> <tr> <th><a href="new-commande.php"><span class="img-panier" ><img src="../../_images/panier.png" alt="panier" width="35" height="35" /><br /> Votre Panier</span></a></th> </tr> <tr> <td class="total">0 articles</td> </tr> <tr> <td class="total"> Total : <b>0,00</b> €</td> </tr> </table> </div> </div> <!-- Fin de div Header logo --> <!-- Barre de navigation haut--> <div class="menu"> <ul> <li class="menu1"> <h3><a href="open-order.php" >Commande en cours</a> </h3> </li> <li class="menu2"> <h3><a href="place-order.php" >Commande à passer</a> </h3> </li> <li class="menu3"> <h3><a href="closed-order.php" >Commandes Clôturées</a> </h3> </li> <li class="menu4"> <h3><a href="new-commande.php" >Créer nouvelle commande</a></h3> </li> <li class="menu5"> <h3> </h3> </li> </ul> </div> <!-- Fin de Barre de navigation haut--> <!-- Container Central--> <div id="conteneur"> <!-- Container gauche Navigation --> <div id="sidebar"> <!-- Menu Categories --> <div class="navigation1"> <div class="top_navigation"> <h2>CATEGORIES</h2> </div> <!-- Top Navigation --> <ul class="menu_side"> <li> <h2>›<a href="gestion_spots-led.php?page=1&categorie=100">Les Spots LED</a></h2> </li> <li class="indent"> <h2>›<a href="gestion_spots-dimmables.php?page=1&categorie=110">Spots dimmables</a></h2> </li> <li> <h2>›<a href="gestion_ampoules-led.php?page=1&categorie=200">Les Ampoules LED</a></h2> </li> <li class="indent"> <h2>›<a href="gestion_ampoules-led.php?page=1&categorie=210">Ampoules dimmables</a></h2> </li> <li> <h2>›<a href="gestion_spots-led-industriels.php?page=1&categorie=300">Spots LED industriels</a></h2> </li> <li> <h2>›<a href="gestion_appliques-led.php?page=1&categorie=400">Les Appliques LED</a></h2> </li> <li style="border-bottom:0px"> <h2>› <a href="gestion_spots-exterieur.php?page=1&categorie=500">Eclairages LED extérieur</a></h2> </li> <!-- <li style="border-bottom:0px"><h2>› Les accessoires</h2></li> --> </ul> </div> <!-- FIN Menu Categories --> <!-- Menu Engagements --> <div class="navigation2"> <!-- Menu Engagements --> <div class="top_navigation"> <h2>GESTION</h2> </div> <!-- Top Navigation --> <ul class="menu_side"> <li> <h2><a href="new-client.php"> › Créer nouveau client </a></h2> </li> <li> <h2><a href="new-product.php"> › Créer nouveau produit </a></h2> </li> <li> <h2><a href=""> › Mofidier fiche produit </a></h2> </li> <li> <h2><a href=""> › Statistiques produits </a></h2> </li> <li style="border-bottom:0px"> <h2><a href="">› Statistiques ventes</a></h2> </li> </ul> </div> <!-- FIN Menu Engagements --> <!-- Menu Garanties --> <div class="navigation3"> <img src="../_images/_fr/phone.png" alt="phone" width="180" height="61" /> <img src="../_images/_fr/livraison.png" alt="livraison" width="182" height="104" /> <!-- Espace libre --> </div> <!-- FIN Menu Garanties --> </div> <!-- Fin de Sidebar Navigation --> <!-- Container Droit Principal --> <div class="titre"> <h1>Créer un nouveau produit</h1> </div> <div class="bloc_produits"> <div class="bloc-new-client"> <h2 class="sous-titre">Nouveau produit</h2> <br /> <!-- Début formulaire ajout d'un nouveau produit --> <form action="" method="post" class="new-client-form"> <fieldset> <legend>1 Choix de la categorie </legend> <!-- 1 La categorie --> <table> <tr> <td> <form action="/_gestion/new-product.php" method="post" id="Selectcategorie"> <SELECT name="categorie" id="categorie" value="0" size="1" style="width:200px;" onChange="document.forms['Selectcategorie'].submit();"> <OPTION>Sélectionnez une categorie</OPTION> <OPTION value=8>600 - Accessoires LED</OPTION> <OPTION value=4>210 - Ampoules dimmables</OPTION> <OPTION value=3>200 - Ampoules LED</OPTION> <OPTION value=6>400 - Appliques LED</OPTION> <OPTION value=7>500 - Eclairage LED extérieur</OPTION> <OPTION value=2>110 - Spots dimmables</OPTION> <OPTION value=5>300 - Spots industriels</OPTION> <OPTION value=1>100 - Spots LED</OPTION> </SELECT> <br /> </form> NULL </td> </tr> </table> </fieldset> <br /> <!--2 Le fournisseur --> <fieldset> <legend><span style="font-size:20px;">2</span> - Choix du fournisseur </legend> <table border="0"> <tr> <td width="200"><label for="fournisseur">Fournisseur :</label></td> <td width="300" id="fournisseur"><form action="/_gestion/new-product.php" method="post" id="Supplier"> <SELECT name="Supplier" id="Supplier" value="0" size="1" style="width:200px" onChange="document.forms['Supplier'].submit();"> <OPTION>Sélectionnez un fournisseur</OPTION> <OPTION value=2>20 - BOYA</OPTION> <OPTION value=1>10 - Newbetter Lighting - NBL</OPTION> </SELECT> <br /> </form> <input type="text" name="new_fournisseur" id="new_fournisseur" size="20" value=""/> </td> </tr> <tr> <td><label for="new_fournisseur">Nouveau fournisseur : </label></td> <td><input type="text" name="new_fournisseur" id="new_fournisseur" size="50" value=""/> </td> </tr> <tr> <td><label for="code_fournisseur">Code fournisseur : </label></td> <td><input type="text" name="code_fournisseur" id="code_fournisseur" size="50" value=""/> </td> </tr> <tr> <td></td> <td align="center"><input type="button" name="ajouter_fournisseur" size="50" id="ajouter_fournisseur" value="Ajouter le fournisseur"/> </td> </tr> </table> </fieldset> <br /> <!--3 Le produit --> <fieldset> <legend><span style="font-size:20px;">3</span> - Produit </legend> <table border="0"> <tr> <td width="200"><label id="type_culot">Type de culot :</label></td> <td width="300"><form action="/_gestion/new-product.php" method="post" id="selectculot"> <SELECT name="culot" id="culot" value="0" size="1" style="width:200px" onchange="document.forms['selectculot'].submit();"> <OPTION>Sélectionnez le type de culot</OPTION> <OPTION value=5>50 - -</OPTION> <OPTION value=1>10 - E14</OPTION> <OPTION value=2>20 - E27</OPTION> <OPTION value=3>30 - GU10</OPTION> <OPTION value=4>40 - GU5.3</OPTION> </SELECT> <br /> </form> <input type="text" name="culot" id="culot" size="20" value="1"/> </td> </tr> <tr> <td width="200"><label id="type_couleur">Type de couleur :</label></td> <td width="300"><form action="/_gestion/new-product.php" method="post" id="couleur"> <SELECT name="couleur" id="couleur" value="0" size="1" style="width:200px" onchange="document.forms['couleur'].submit();"> <OPTION>Sélectionnez le type de couleur</OPTION> <OPTION value=1>10 - Blanc chaud</OPTION> <OPTION value=3>30 - Blanc froid</OPTION> <OPTION value=2>20 - Blanc naturel</OPTION> </SELECT> <br /> </form></td> </tr> <tr> <td width="200"><label id="nb_led">Nombre de LED :</label></td> <td><input type="text" name="nb_led" id="nb_led" size="20" value=""/> </tr> <tr> <td width="200"><label id="angle">Angle :</label></td> <td><input type="text" name="angle" id="angle" size="20" value=""/> ° </tr> <tr> <td width="200"><label id="diametre">Diamètre :</label></td> <td><input type="text" name="diametre" id="diametre" size="20" value=""/> mm </tr> <tr> <td width="200"><label id="hauteur">Hauteur :</label></td> <td><input type="text" name="hauteur" id="hauteur" size="20" value=""/> mm </tr> <tr> <td width="200"><label id="longueur">Longueur :</label></td> <td><input type="text" name="longueur" id="longueur" size="20" value=""/> mm </tr> <tr> <td width="200"><label id="largueur">Largueur :</label></td> <td><input type="text" name="largueur" id="largueur" size="20" value=""/> mm </tr> <tr> <td width="200"><label id="puissance">Puissance :</label></td> <td><input type="text" name="puissance" id="puissance" size="20" value=""/> Watts </tr> <tr> <td width="200"><label id="consommation">Consommation :</label></td> <td><input type="text" name="consommation" id="consommation" size="20" value=""/> Watts </tr> <tr> <td width="200"><label id="lumen">Lumen :</label></td> <td><input type="text" name="lumen" id="lumen" size="20" value=""/> </tr> <tr> <td width="200"><label id="rendu">Rendu lumineux :</label></td> <td><input type="text" name="rendu" id="rendu" size="20" value=""/> </tr> <tr> <td width="200"><label id="vie">Durée de vie :</label></td> <td><input type="text" name="vie" id="vie" size="20" value=""/> </tr> <tr> <td width="200"><label id="voltage">Voltage :</label></td> <td><input type="text" name="voltage" id="voltage" size="20" value=""/> </tr> <tr> <td width="200"><label id="garantie">Garantie :</label></td> <td><input type="text" name="garantie" id="garantie" size="20" value=""/> ans </tr> </table> </fieldset> <br /> <!--4 Le visuel --> <fieldset> <legend><span style="font-size:20px;">4</span> - Insertion des images </legend> <table border="0"> <tr> <td width="200"><label for="file">Choisir :</label></td> <td width="300" id="file"></td> </tr> <tr> <td colspan="2"><input name="image" type="file" size="30" /></td> </tr> <tr> <td colspan="2"></td> </tr> </table> </fieldset> <table> <tr> <td width="200"></td> <td width="300"><br /> <input type="submit" id="send" name="envoyer" value="Envoyer" /></td> </tr> </table> </form> </div> <!-- # Fin de bloc new client --> </div> </div> <!-- Fin de bloc_produits --></div><!-- Fin de Container Central--><div id="foot"> <ul> <li> <h4><a href="index.php">Home </a></h4> </li> <li> <h4><a href="contact-lampes-led.php">Contact </a></h4> </li> <li> <h4><a href="sitemap.php">Sitemap </a></h4> </li> <li> <h4><a href="a-propos-des-led.php">A propos des led </a></h4> </li> <li> <h4><a href="avantages-des-led.php">Avantages des led </a></h4> </li> <li> <h4><a href="choisir-une-led.php">Choisir une led </a></h4> </li> <li> <h4><a href="led-ou-comment.php">Led où et comment </a></h4> </li> <li> <h4><a href="garanties.php">Nos garanties </a></h4> </li> <li style="border-right:0px; margin-bottom:10px;"> <h4><a href="condition-generales.php#garantie">Condition Generales</a></h4> </li> <li><br /> </li> <li> <h4><a href="spots-led.php?page=1&categorie=100">Spots Led </a></h4> </li> <li> <h4><a href="spots-dimmables.php?page=1&categorie=110">Spots dimmables </a></h4> </li> <li> <h4><a href="ampoules-led.php?page=1&categorie=200">Ampoules LED </a></h4> </li> <li> <h4><a href="ampoules-led.php?page=1&categorie=210">Ampoules dimmables </a></h4> </li> <li> <h4><a href="spots-led-industriels.php?page=1&categorie=300">Spots industriels </a></h4> </li> <li> <h4><a href="appliques-led.php?page=1&categorie=400">Appliques LED </a></h4> </li> <li style="border-right:0px"> <h4><a href="spots-exterieur.php?page=1&categorie=500">Eclairage extérieur</a></h4> </li> </ul></div><!-- Copyright--></div><!-- Fin de div Global--></body></html>
A noter que mes listes utilisées sur une autre page fonctionne parafaitement.
J'ai également une autre question :
Est-ce que je fais bien de chaque fois mettre mes lsite (SELECT) dans un formulaire puis le tout dans un formulaire général?
Peut-être verras-tu plus facilement l'erreur commise?
Réponses apportées à cette discussion
Règle importante en (X)HTML : il est interdit d'imbriquer des formulaires l'un dans l'autre
Corrige ça et ça devrait mieux fonctionner.
Et au passage, l'attribut « value » est invalide dans les balises select.
Enfin je te signale qu'en XHTML, tous les attributs de balises doivent impérativement être écrit en minuscule, donc par exemple « onchange » et non « onChange »
Bonjour,
merci pour ton aide Cyrano cela fonctionne effectivement mieux !
Encore merci