Problème display avec <div>

enibib Messages postés 15 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 19 janvier 2010 - 21 avril 2009 à 12:14
enibib Messages postés 15 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 19 janvier 2010 - 22 avril 2009 à 17:06
Bonjour,
 Voici mon tout d'abord mon code :

<html>

    <script language="JavaScript" type="text/javascript">
   
        function display()
        {
            var valeur = document.getElementById("select1").value ;
                   
            if(valeur=="Mlle")
            {
                var id = document.getElementById("id1") ;
                var idautre1 = document.getElementById("id2") ;
                var idautre2 = document.getElementById("id3") ;
               
                if (id.style.display == "none")
                {
                    id.style.display = "" ;
                    idautre1.style.display = "none" ;
                    idautre2.style.display = "none" ;
                }    
            }
            else if (valeur=="Mme")
            {
                var id = document.getElementById("id2") ;
                var idautre1 = document.getElementById("id1") ;
                var idautre2 = document.getElementById("id3") ;
                if (id.style.display == "none")
                {
                    id.style.display = "" ;
                    idautre1.style.display = "none" ;
                    idautre2.style.display = "none" ;
                }        
            }
            else
            {
                var id = document.getElementById("id3") ;
                var idautre1 = document.getElementById("id1") ;
                var idautre2 = document.getElementById("id2") ;
                if (id.style.display == "none")
                {
                    id.style.display = "" ;
                    idautre1.style.display = "none" ;
                    idautre2.style.display = "none" ;
                }
            }
        }
   
    </script>
    <form action="ValidTest.php" method="post">
        <select name="F_EL_CIV" id="select1" onchange="display();">
            <option value="Mlle">Mlle</option>
            <option value="Mme">Mme</option>
            <option value="M">M</option>
        </select>
       

            Mlle
             
       

       

             Mme
             
       

       

             M
             
       

       
    </form>

</html>
 

OK ma fonction Javascript est à optimiser mais elle fonctionne pour mes test pour le moment .
Grâce à ce code je récupère des données de ma liste déroulante dans des div ( en vue de créer des formulaires dynamique ) ,mais le problèmes est que je récupère toujours la dernière valeur F_Test ici ( "M" ) alors que je voudrais seulement récupérer la valeur sélectionner =s ...

Comment faire ??

PS : Je m'attend a recevoir des réponse du type pourquoi ne pas récupérer simplement la valeur de ma liste déroulante par POST ?? Ma réponse est ce petit bou de code est du test et que plus tard j'aurai besoin de faire comme je vous montre.

Merci d'avance

4 réponses

enibib Messages postés 15 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 19 janvier 2010
21 avril 2009 à 15:29
Personne ??

Pour résumer finalement pour le moment j'arrive à cacher mes div mais je voudrai quelle soi en même temps "désactivé" mais je ne voi pas comment faire ....
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
22 avril 2009 à 16:46
Et bien c'est normal ... tes champs hidden ont tous les 3 le même nom ... donc tu récupère la dernière valeur de ton dernier champ hidden ... J'ai pas lu tout ton code mais c'est ce qu'il me vient à l'esprit en regardant la fin de ton code ...
0
cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
22 avril 2009 à 16:52
bon alors du coup j'ai lu ton code et j'aurais du le faire avant de poster ... C'est clair que ton javascript est largement compactable . Voici une idée :
<script language="JavaScript" type="text/javascript">
         function display()
        {
            var valeur = document.getElementById("select1").value ;
            var id = document.getElementById("id1") ;

            var id2 = document.getElementById("id2") ;

            var id3 = document.getElementById("id3") ;
           
            id.style.display = "none";
            id2.style.display = "none";
            id3.style.display = "none";
           
            if(valeur=="Mlle")
                  id.style.display = "";
            else if (valeur=="Mme")
                  id2.style.display = "";
            else
                  id3.style.display = "";
        }
   
    </script>

Test et dis moi si cela te convient
0
enibib Messages postés 15 Date d'inscription mercredi 11 mars 2009 Statut Membre Dernière intervention 19 janvier 2010
22 avril 2009 à 17:06
Oui tu as raison [auteur/MIKE1310/1137126.aspx mike1310] , tout mes hidden ont le même name mais c'est "normal" j'ai besoin par la suite que ce soi les même ...

Du cou j'ai trouver une solution :
Je désactive tout les input et select de mes div pour pouvoir récupérer les données que je souhaite
0
Rejoignez-nous