Prob de formulaires imbriqués

Bonjour,
je garde toujours espoir de m'en sortir, parceque j'ai passer beaucoup de temp a coder cette page. avant que je revoi l'ergonomie de cette page, j'aimerais bien partagez mon soucis avec vous, esperons trouver de l'aide.
je suis sous php/js, jai 2 formulaire (fils) a l'interieur d'un autre formulaire(père). la page contient beaucoup de champs, si le client valide le formulaire "père", il est redirigé vers une autre page dans laquelle je recupere les variables via $_POST.

form pere : appel la page qui insere les champs saisie dans la BD --> fonctionne correctement

form interne 1 : integre 2 listes deroulante, la premiere pour les regions du pays, et la 2 eme pour les villes, quand un client selectionne une region, la page est rechargé avec la liste des villes concernés. ce form utilise la fonction onchange() --> fonctionne correctement

form interne 2 : ce form affiche une liste de categories. l'objectif ici c'est de faire cacher et afficher des champs texte selon la selection de l'utilisateur. ici je rafraichie pas la page, j'appel une fonction js avec l'evenement onchange().jusqu'a maintenant tout va bien. le soucis c'est quand je suis redirigé vers la page d'insertion dans la BD, la variable de la liste deroulante dans le form2 n'est pas reconnu : "Undefined index: list_categories".

<form enctype="multipart/form-data" method="post" action="test.php" onsubmit="return:false" class="iform" name="form_pere">  
      <ul>  
          <li>  
              <label for="Rgion">  
                     Région (*)  
              </label>  
          <form method="post" name="f1" action="test.php">  
                    <select id="list_regions" name="list_regions" class="iselect" onchange="reload(this.form)">  
                    <!-- je remplis la liste des régions -->  
                    </select>  
          </li>  
          <li>  
              <label for="Ville">  
                     Ville (*)  
              </label>  
              <select id="list_villes" name="list_villes" class="iselect" >  
              <!-- je remplis la liste des villes selon l'id de la region -->  
              </select>  
          </form>  
          </li>  
          <li>  
              <label for="Catgorie">  
                     Catégorie (*)  
              </label>  
              <form name="formcategorie" method="post" action="">  
                    <select class="iselect" id="list_categories" name="list_categories"  onChange="afficherAutre()" >  
                    <!-- je remplis la liste des catégories -->  
                    </select>  
                    <input type="hidden" name="var" value="bonjour" />  
              </form>  
          </li>  
          <!-- les champs a remplir -->  
          <li>  
              <input type="button" class="ibutton" onclick="sendForm()" name="Valider" id="Valider" value="     Valider     " />  
          </li>  
      </ul>  
</form>  


j'espere etre claire, merci d'avance

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. il serait intéressant pour t'aider d'avoir un aperçu de ta base de donnée et de script php
    1. Bonjour,

      Concernant ceci: "jai 2 formulaire (fils) a l'interieur d'un autre formulaire(père)"

      Ca ne se fait pas!

      On n'imbrique pas 2 form différents...

      form 
         form 
         /form 
      /form 


      C'est NON

      form 
      /form 
      form 
      /form


      C'est OUI

      A+

      un +1 sur mes commentaires - si vous avez apprécié - c'est gentil, merci.
      1. mpmp93 : je suis tout a fait d'accord avec toi, imbriquer les formulaires n'est pas faisable, pourtant le 1er form interne fonctionne bien, mon probleme en resumé pourquoi je perd la valeur de la liste categorie dans la page appelé.

        pkshetlie :
        pour mon code php :
                                                                                                             <form enctype="multipart/form-data" method="post" action="test.php" onsubmit="return:false" class="iform" name="myform">
                                                                                                                  <div id="imessageERROR">
                                                                                                                        ERROR: Veuillez remplir les champs obligatoire!
                                                                                                                   </div>
                                                                                                                   <ul>
                                                                                                                       <li class="iheader">
                                                                                                                           Localisation
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <?php
                                                                                                                           $req_regions="select * from regions";
                                                                                                                           @$list_regions=$_GET['list_regions'];
                                                                                                                           if(strlen($list_regions) > 0 and !is_numeric($list_regions)){
                                                                                                                           echo "Data Error";
                                                                                                                           exit;
                                                                                                                           }
                                                                                                                           $result_regions = mysql_query($req_regions) or die("requête non conforme");
                                                                                                                           if(isset($list_regions) and strlen($list_regions) > 0)
                                                                                                                           {
                                                                                                                             $req_villes="select * from villes where id_region=".$list_regions." order by ville";
                                                                                                                           }
                                                                                                                           else
                                                                                                                           {
                                                                                                                             $req_villes="select * from villes";
                                                                                                                           }
                                                                                                                           $result_villes = mysql_query($req_villes) or die("requête non conforme");
                                                                                                                           ?>
                                                                                                                           <label for="Rgion">
                                                                                                                                  Région (*)
                                                                                                                           </label>
                                                                                                                           <?php
                                                                                                                           echo "<form method=post name=f1 action='test.php'>";
                                                                                                                           echo "<select id='list_regions' name='list_regions' class='iselect' onchange=\"reload(this.form)\"><option value='' >Séléctionnez</option>";
                                                                                                                           while($voir_region = mysql_fetch_array($result_regions)) {
                                                                                                                           if($voir_region['id_region']==@$list_regions){echo "<option selected value='$voir_region[id_region]' >".htmlentities($voir_region[region],ENT_QUOTES)."</option>"."<BR>";}
                                                                                                                           else{echo  "<option value='$voir_region[id_region]'>".htmlentities($voir_region[region],ENT_QUOTES)."</option>";}
                                                                                                                           }
                                                                                                                           echo "</select>";
                                                                                                                           ?>
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Ville">
                                                                                                                                  Ville (*)
                                                                                                                           </label>
                                                                                                                           <?php
                                                                                                                           echo "<select id='list_villes' name='list_villes' class='iselect' ><option value=''>Séléctionnez</option>";
                                                                                                                           while($voir_ville = mysql_fetch_array($result_villes)) {
                                                                                                                           echo  "<option value='$voir_ville[id_ville]'>".htmlentities($voir_ville[ville],ENT_QUOTES)."</option>";
                                                                                                                           }
                                                                                                                           echo "</select>";
                                                                                                                           echo "</form>";
                                                                                                                           ?>
                                                                                                                       </li>
                                                                                                                       <li class="iheader">
                                                                                                                           Catégorie
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <!-- remplacer ici -->
        
                                                                                                                           <label for="Catgorie">
                                                                                                                                  Catégorie (*)
                                                                                                                           </label>
        
                                                                                                                            <form name="formcategorie" method="post" action="">
                                                                                                                                 <select class="iselect" id="list_categories" name="list_categories"  onChange="afficherAutre()" >
                                                                                                                                 <option value="">Séléctionnez</option>
                                                                                                                                 <?php
                                                                                                                                 $i=1;
                                                                                                                                 while ($voir = mysql_fetch_array($result_categories))
                                                                                                                                 {
                                                                                                                                       if ($j <> $voir["id_categorie"]) $i=1;
                                                                                                                                       if ( $i == 1 )
                                                                                                                                       {
                                                                                                                                           echo ('<option value="" style="background:#373737;color: #DEDEDE;">'.$voir["categorie"].'</option>');
                                                                                                                                           echo ('<option value="'.htmlentities($voir["souscategorie"],ENT_QUOTES).'">'.htmlentities($voir["souscategorie"],ENT_QUOTES).'</option>');
                                                                                                                                           $i=0;
                                                                                                                                       }
                                                                                                                                       else
                                                                                                                                       {
                                                                                                                                           echo ('<option value="'.htmlentities($voir["souscategorie"],ENT_QUOTES).'">'.htmlentities($voir["souscategorie"],ENT_QUOTES).'</option>');
                                                                                                                                       }
                                                                                                                                       $j=$voir["id_categorie"];
                                                                                                                                 }
        
                                                                                                                                 ?>
                                                                                                                                 </select>
                                                                                                                                 <input type="hidden" name="var" value="bonjour" />
                                                                                                                           </form>
                                                                                                                           <!-- ************ -->
                                                                                                                           </li>
                                                                                                                       <li>
                                                                                                                           <label for="Voustesun">
                                                                                                                                  Vous êtes un (*)
                                                                                                                           </label>
                                                                                                                           <ul>
                                                                                                                               <li name="particulier" id="particulier">
                                                                                                                                   <input class="iradio" type="radio" checked="checked" name="Voustesun" id="Voustesun2" value="particulier">
                                                                                                                                   <label for="Voustesun2" class="ilabel" value="particulier" name="particulier">
                                                                                                                                          particulier
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                               <li name="professionnel" id="professionnel">
                                                                                                                                   <input class="iradio" type="radio" name="Voustesun" id="Voustesun3" value="Professionnel">
                                                                                                                                   <label for="Voustesun3" class="ilabel" value="Professionnel" name="Professionnel">
                                                                                                                                          Professionnel
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                           </ul>
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Typedannonce">
                                                                                                                                  Type d'annonce (*)
                                                                                                                           </label>
                                                                                                                           <ul>
                                                                                                                               <li name="offre" id="offre">
                                                                                                                                   <input class="iradio" type="radio" checked="checked" name="offredemande" id="offre" value="offre">
                                                                                                                                   <label for="offre" class="ilabel" value="offre" name="offre">
                                                                                                                                          Offre
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                               <li >
                                                                                                                                   <input class="iradio" type="radio" name="offredemande" id="demande" value="demande">
                                                                                                                                   <label for="demande" class="ilabel" value="demande" name="demande">
                                                                                                                                          Demande
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                               <li style="display: none" name="vente" id="vente">
                                                                                                                                   <input class="iradio" type="radio" name="offredemande" id="vente" value="demande">
                                                                                                                                   <label for="demande" class="ilabel" value="demande" name="vente">
                                                                                                                                          Vente
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                               <li style="display: none" name="location" id="location">
                                                                                                                                   <input class="iradio" type="radio" name="offredemande" id="location" value="demande" >
                                                                                                                                   <label for="demande" class="ilabel" value="demande" name="location">
                                                                                                                                          Location
                                                                                                                                   </label>
                                                                                                                               </li>
                                                                                                                           </ul>
                                                                                                                       </li>
                                                                                                                       <li class="iheader">
                                                                                                                           INFORMATIONS PERSONNELS
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Nom">
                                                                                                                                  Nom (*)
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="Nom" id="Nom" />
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Email">
                                                                                                                                  Email (*)
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="Email" id="Email" />
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Tl">
                                                                                                                                  Tél
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="Tel" id="Tl" />
                                                                                                                       </li>
                                                                                                                       <li class="iheader">
                                                                                                                           VOTRE ANNONCE
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Titredelannonce">
                                                                                                                                  Titre de l'annonce(*)
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="Titredelannonce" id="Titredelannonce" />
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="tatoue" id="tatoue">
                                                                                                                           <label for="Titredelannonce" name="tatoue2">
                                                                                                                                  Tatoué
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="tatoue3" name="tatoue3">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>(opptionnel)
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="vaccine" id="vaccine">
                                                                                                                           <label for="Titredelannonce" name="vaccine">
                                                                                                                                  Vacciné
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_categories" name="vaccine" >
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>(opptionnel)
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="puce" id="puce">
                                                                                                                           <label for="Titredelannonce" name="puce">
                                                                                                                                  Pucé
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_categories" name="puce" >
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>(opptionnel)
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="capacite" id="capacite">
                                                                                                                           <label for="Titredelannonce" name="capacite">
                                                                                                                                  Capacité
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="capacite" id="Titredelannonce" />personnes
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="piscine" id="piscine">
                                                                                                                           <label for="Titredelannonce" name="piscine">
                                                                                                                                  Piscine
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_categories" name="piscine">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="nbdechambres" id="nbdechambres">
                                                                                                                           <label for="Titredelannonce" name="nbdechambres">
                                                                                                                                  Nb de chambres
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="nbdechambres" id="Titredelannonce" />
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="anneemodele" id="anneemodele">
                                                                                                                           <label for="Titredelannonce" name="anneemodele">
                                                                                                                                  Année-modèle(*)
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_categories" name="list_anneemodele">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="typedebien" id="typedebien">
                                                                                                                           <label for="Titredelannonce" name="typedebien">
                                                                                                                                  Type de bien
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_typedebien" name="typedebien">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="surface" id="surface">
                                                                                                                           <label for="Titredelannonce" name="surface">
                                                                                                                                  Surface
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="surface" id="Titredelannonce" />M2
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="pieces" id="pieces">
                                                                                                                           <label for="Titredelannonce" name="pieces">
                                                                                                                                  Pièces
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="pieces" id="Titredelannonce" />M2
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="classeenergie" id="classeenergie">
                                                                                                                           <label for="Titredelannonce" name="classeenergie">
                                                                                                                                  Classe énergie
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_typedebien" name="classeenergie">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="ges" id="ges">
                                                                                                                           <label for="Titredelannonce" name="ges">
                                                                                                                                  GES
                                                                                                                           </label>
                                                                                                                           <select class="iselect" id="list_typedebien" name="ges">
                                                                                                                                   <option value="">Séléctionnez</option>
                                                                                                                           </select>
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="kilometrage" id="kilometrage">
                                                                                                                           <label for="Titredelannonce" name="kilometrage">
                                                                                                                                  Kilométrage
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="kilometrage" id="Titredelannonce" />
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="carburant" id="carburant">
                                                                                                                           <label for="Titredelannonce" name="carburant">
                                                                                                                                  Carburant
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="Carburant" id="Titredelannonce" />
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="boitedevitesse" id="boitedevitesse">
                                                                                                                           <label for="Titredelannonce" name="boitedevitesse">
                                                                                                                                  Boîte de vitesse
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="boitedevitesse" id="Titredelannonce" />
                                                                                                                       </li>
                                                                                                                       <li style="display: none" name="cylindree" id="cylindree">
                                                                                                                           <label for="PrixDH" name="cylindree" >
                                                                                                                                  Cylindrée
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="cylindree" id="cylindree" />CM3
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <label for="Textedelannonce">
                                                                                                                                  Texte de l'annonce
                                                                                                                           </label>
                                                                                                                           <textarea class="itextarea" name="Textedelannonce" id="Textedelannonce"></textarea>
                                                                                                                       </li>
                                                                                                                       <li name="prix" id="prix">
                                                                                                                           <label for="PrixDH" name="PrixDH" >
                                                                                                                                  Prix (DH)(optionnel)
                                                                                                                           </label>
                                                                                                                           <input class="itext" type="text" name="PrixDH" id="PrixDH" />
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <p>
                                                                                                                                  <b>Photo principale:</b> Une annonce avec photo est 7 fois plus consultée qu'une annonce sans photo.
                                                                                                                           </p>
                                                                                                                           <p>
                                                                                                                               <b>téléchargez votre photo</b>
                                                                                                                           </p>
                                                                                                                        </li>
                                                                                                                             <input type="hidden" name="MAX_FILE_SIZE" value="100000">
                                                                                                                        <li style="margin-left:70px;">
                                                                                                                           <label for="photo">
                                                                                                                                  photo 1
                                                                                                                           </label>
                                                                                                                           <input type="file" name="image0" id="image0" class="input_file">
                                                                                                                        </li>
                                                                                                                        <li style="margin-left:70px;">
                                                                                                                            <label for="photo">
                                                                                                                                  photo 2
                                                                                                                           </label>
                                                                                                                           <input type="file" name="image1" id="image1" class="input_file">
                                                                                                                        </li>
                                                                                                                        <li style="margin-left:70px;">
                                                                                                                            <label for="photo">
                                                                                                                                  photo 3
                                                                                                                           </label>
                                                                                                                           <input type="file" name="image2" id="image2" class="input_file">
                                                                                                                       </li>
                                                                                                                       <li>
                                                                                                                           <input type="button" class="ibutton" onclick="sendForm()" name="Valider" id="Valider" value="     Valider     " />
                                                                                                                       </li>
                                                                                                                       <!-- fin remplacer -->
                                                                                                                   </ul>
                                                                                                             </form>
        
        1. les script js :
          <SCRIPT type="text/javascript">
            function reload(form)
            {
            var val=form.list_regions.options[form.list_regions.options.selectedIndex].value;
            self.location='test.php?list_regions=' + val ;
            }
          </script>
          //*************************************************************
            <script type="text/javascript">
          function afficherAutre() {
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "Moto") || (document.formcategorie.list_categories.value == "camions") || (document.formcategorie.list_categories.value == "Cavaning") || (document.formcategorie.list_categories.value == "équipements auto") || (document.formcategorie.list_categories.value == "équipements moto") || (document.formcategorie.list_categories.value == "équipements cavaning") || (document.formcategorie.list_categories.value == "nautisme") || (document.formcategorie.list_categories.value == "équipements nautisme") || (document.formcategorie.list_categories.value == "utilitaires") || (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") || (document.formcategorie.list_categories.value == "collocations") || (document.formcategorie.list_categories.value == "locations de vacances") || (document.formcategorie.list_categories.value == "bureaux et commerces") || (document.formcategorie.list_categories.value == "ameublement") || (document.formcategorie.list_categories.value == "informatique") || (document.formcategorie.list_categories.value == "consoles et jeux vidéo") || (document.formcategorie.list_categories.value == "image et son") || (document.formcategorie.list_categories.value == "telephonie") || (document.formcategorie.list_categories.value == "vêtements") || (document.formcategorie.list_categories.value == "chaussures") || (document.formcategorie.list_categories.value == "montres et bijoux") || (document.formcategorie.list_categories.value == "vêtements pour enfants") || (document.formcategorie.list_categories.value == "DVD et Films") || (document.formcategorie.list_categories.value == "CD/musique") || (document.formcategorie.list_categories.value == "livres") || (document.formcategorie.list_categories.value == "animaux") || (document.formcategorie.list_categories.value == "vélos") || (document.formcategorie.list_categories.value == "sports et hobbies") || (document.formcategorie.list_categories.value == "instruments de musique") || (document.formcategorie.list_categories.value == "collections") || (document.formcategorie.list_categories.value == "jeux et jouets") || (document.formcategorie.list_categories.value == "gastronomie") || (document.formcategorie.list_categories.value == "matériel professionnel") || (document.formcategorie.list_categories.value == "services") || (document.formcategorie.list_categories.value == "billeterie") || (document.formcategorie.list_categories.value == "evenements") || (document.formcategorie.list_categories.value == "cours particuliers") )
               document.getElementById("particulier").style.display = "block";
            else
                document.getElementById("particulier").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "Moto") || (document.formcategorie.list_categories.value == "camions") || (document.formcategorie.list_categories.value == "Cavaning") || (document.formcategorie.list_categories.value == "équipements auto") || (document.formcategorie.list_categories.value == "équipements moto") || (document.formcategorie.list_categories.value == "équipements cavaning") || (document.formcategorie.list_categories.value == "nautisme") || (document.formcategorie.list_categories.value == "équipements nautisme") || (document.formcategorie.list_categories.value == "utilitaires") || (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") || (document.formcategorie.list_categories.value == "locations de vacances") || (document.formcategorie.list_categories.value == "bureaux et commerces") || (document.formcategorie.list_categories.value == "ameublement") || (document.formcategorie.list_categories.value == "informatique") || (document.formcategorie.list_categories.value == "image et son") || (document.formcategorie.list_categories.value == "vêtements") || (document.formcategorie.list_categories.value == "chaussures") || (document.formcategorie.list_categories.value == "montres et bijoux") || (document.formcategorie.list_categories.value == "vêtements pour enfants") || (document.formcategorie.list_categories.value == "DVD et Films") || (document.formcategorie.list_categories.value == "CD/musique") || (document.formcategorie.list_categories.value == "livres") || (document.formcategorie.list_categories.value == "animaux") || (document.formcategorie.list_categories.value == "vélos") || (document.formcategorie.list_categories.value == "sports et hobbies") || (document.formcategorie.list_categories.value == "instruments de musique") || (document.formcategorie.list_categories.value == "collections") || (document.formcategorie.list_categories.value == "jeux et jouets") || (document.formcategorie.list_categories.value == "gastronomie") || (document.formcategorie.list_categories.value == "matériel professionnel") || (document.formcategorie.list_categories.value == "emploi") || (document.formcategorie.list_categories.value == "services") || (document.formcategorie.list_categories.value == "evenements") )
               {document.getElementById("professionnel").style.display = "block";}
            else
                document.getElementById("professionnel").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "Moto") || (document.formcategorie.list_categories.value == "camions") || (document.formcategorie.list_categories.value == "Cavaning") || (document.formcategorie.list_categories.value == "équipements auto") || (document.formcategorie.list_categories.value == "équipements moto") || (document.formcategorie.list_categories.value == "équipements cavaning") || (document.formcategorie.list_categories.value == "nautisme") || (document.formcategorie.list_categories.value == "équipements nautisme") || (document.formcategorie.list_categories.value == "utilitaires") || (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") || (document.formcategorie.list_categories.value == "collocations") || (document.formcategorie.list_categories.value == "locations de vacances") || (document.formcategorie.list_categories.value == "ameublement") || (document.formcategorie.list_categories.value == "informatique") || (document.formcategorie.list_categories.value == "consoles et jeux vidéo") || (document.formcategorie.list_categories.value == "image et son") || (document.formcategorie.list_categories.value == "telephonie") || (document.formcategorie.list_categories.value == "vêtements") || (document.formcategorie.list_categories.value == "chaussures") || (document.formcategorie.list_categories.value == "montres et bijoux") || (document.formcategorie.list_categories.value == "vêtements pour enfants") || (document.formcategorie.list_categories.value == "DVD et Films") || (document.formcategorie.list_categories.value == "CD/musique") || (document.formcategorie.list_categories.value == "livres") || (document.formcategorie.list_categories.value == "animaux") || (document.formcategorie.list_categories.value == "vélos") || (document.formcategorie.list_categories.value == "sports et hobbies") || (document.formcategorie.list_categories.value == "instruments de musique") || (document.formcategorie.list_categories.value == "collections") || (document.formcategorie.list_categories.value == "jeux et jouets") || (document.formcategorie.list_categories.value == "gastronomie") || (document.formcategorie.list_categories.value == "matériel professionnel") || (document.formcategorie.list_categories.value == "emploi") || (document.formcategorie.list_categories.value == "services") || (document.formcategorie.list_categories.value == "billeterie") || (document.formcategorie.list_categories.value == "evenements") || (document.formcategorie.list_categories.value == "cours particuliers") )
               document.getElementById("offre").style.display = "block";
            else
                document.getElementById("offre").style.display = "none";
          
            if ( document.formcategorie.list_categories.value == "bureaux et commerces")
               {
                   document.getElementById("vente").style.display = "block";
                   document.getElementById("location").style.display = "block";
               }
            else
                {
                    document.getElementById("vente").style.display = "none";
                    document.getElementById("location").style.display = "none";
                }
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "camions") || (document.formcategorie.list_categories.value == "Moto") || (document.formcategorie.list_categories.value == "Cavaning") || (document.formcategorie.list_categories.value == "utilitaires") )
               {
                   document.getElementById("anneemodele").style.display = "block";
                   document.getElementById("kilometrage").style.display = "block";
               }
            else
                {
                    document.getElementById("anneemodele").style.display = "none";
                    document.getElementById("kilometrage").style.display = "none";
                }
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "camions") || (document.formcategorie.list_categories.value == "utilitaires") )
               document.getElementById("carburant").style.display = "block";
            else
                document.getElementById("carburant").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "Voitures") || (document.formcategorie.list_categories.value == "camions") )
               document.getElementById("boitedevitesse").style.display = "block";
            else
                document.getElementById("boitedevitesse").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "Moto") )
               document.getElementById("cylindree").style.display = "block";
            else
                document.getElementById("cylindree").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") )
               document.getElementById("typedebien").style.display = "block";
            else
                document.getElementById("typedebien").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") || (document.formcategorie.list_categories.value == "collocations") || (document.formcategorie.list_categories.value == "bureaux et commerces") )
            {
               document.getElementById("surface").style.display = "block";
               document.getElementById("classeenergie").style.display = "block";
               document.getElementById("ges").style.display = "block";
            }
            else
            {
                document.getElementById("surface").style.display = "none";
                document.getElementById("classeenergie").style.display = "none";
                document.getElementById("ges").style.display = "none";
            }
          
            if ( (document.formcategorie.list_categories.value == "ventes immobilières") || (document.formcategorie.list_categories.value == "locations") || (document.formcategorie.list_categories.value == "collocations") )
               document.getElementById("pieces").style.display = "block";
            else
                document.getElementById("pieces").style.display = "none";
          
            if ( (document.formcategorie.list_categories.value == "locations de vacances") )
            {
               document.getElementById("capacite").style.display = "block";
               document.getElementById("piscine").style.display = "block";
               document.getElementById("nbdechambres").style.display = "block";
            }
            else
            {
                document.getElementById("capacite").style.display = "none";
                document.getElementById("piscine").style.display = "none";
                document.getElementById("nbdechambres").style.display = "none";
            }
          
            if ( (document.formcategorie.list_categories.value == "animaux") )
            {
                document.getElementById("tatoue").style.display = "block";
                document.getElementById("vaccine").style.display = "block";
                document.getElementById("puce").style.display = "block";
            }
            else
            {
                document.getElementById("tatoue").style.display = "none";
                document.getElementById("vaccine").style.display = "none";
                document.getElementById("puce").style.display = "none";
            }
          }
          </script>
          
          1. Bonjour,

            Désolé, j'ai pas le temps matériel pour me mettre la tête dans votre code.... Il est trop touffu.

            Je sais faire des claquettes, ou les pieds au mur, mais des claquettes les pieds au mur, ça devient difficile... Non j'blague. C'est juste une image pour vous faire comprendre que dans votre code vous cherchez à faire trop d'effets...

            Je vous renvoie ici:
            http://html5.immo-scope.com/index.php?page=html5/form/formulairesSansTable

            Vous prenez un seul form.... /form et tout le reste, sans LI ni rien d'autre que du HTML et un chouille de PHP ça doit le faire...

            Le modèle de base:

            <form>
               ....contenu formulaire...
            </form>
            


            CONTENU FORMULAIRE:

            <p><label>mon label:</label>
            <input type="text" name="duchmoll"/></p>

            et ce pour autant de lignes que nécessaire....

            Si des sélections influent sur le contenu d'autres select, utilisez jQuery.

            A+
          2. je confirme y'a beaucoup trop, faut te simplifier la vie il existe tellement d'outils de nos jours profite en !