IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afficher/Cacher un DIV à partir d'un select


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut Afficher/Cacher un DIV à partir d'un select
    Bonjour,

    J'ai un soucis avec l'affichage d'un div après le choix d'un select, j'ai essayé pas mal de modification qui n'ont apporté aucun changment.
    Lorsque je clique, le DIV ne s'affiche pas.
    Pouvez vous m'éclairer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <script language="javascript">
    function changementType() {
    	var type = document.myform.getElementById("type").value;
    	if (type == "Hebdomadaire") {
    		document.myform.getElementById("hebdomadaire").style.display="block";
    	} else{
    		document.myform.getElementById("hebdomadaire").style.display="none";
    	}
    	if (type == "Mensuel"){
    		document.getElementById("mensuel").style.display="block";
    	}else{
    		document.getElementById("mensuel").style.display="none";
    	}
    	if (type == "Quotidien"){
    		document.getElementById("quotidien").style.display="block";
    	}else{
    		document.getElementById("quotidien").style.display="none";
    	}
    }
    </script>	
    <form name="myform" action="Valider_Expedition_Pudo.php" method="post" target="Details" onsubmit="return popWindow(this);">		
    <table border="0" cellpadding="0" cellspacing="10" width="100%">
      <tbody>
        <tr>
          <td>
          <table style="outline-color: navy ! important; outline-style: dashed ! important; outline-width: 2px ! important;" border="0" cellpadding="0" cellspacing="0" width="100%">
            <tbody>
              <tr>
                <td valign="top" width="50%">				
       <fieldset>
    	 					 <legend>Informations Livraison</legend> 
    <table border="0" cellpadding="5" cellspacing="0" width="100%">
    <tbody>
    <tr>
    <td class="fond1" align="center" height="15">Field</td>
    <td class="fond1" align="center">Value</td>
    </tr>	
    <td class="fond2" height="20" width="170"><img src='../../image/lorrygreen-camion-icone-5578-16.png' border=\"0\"> Prestation</td>
    <td class="fond2" align="left">
    <select name="type" id="type" onchange="changementType();">
    <option value="Hebdomadaire">Hebdomadaire</option>	   
    <option value="Mensuel">Mensuel</option>	
    <option value="Unique">Unique</option>	
    <option value="Quotidien">Quotidien</option>		   	
    </select>
    </td>
    </tr>
    <tr>
    <div id ="hebdomadaire" style="display:none">hebdomadaire</div>
    <div id ="mensuel" style="display:none">mensuel</div>
    <div id ="quotidien" style="display:none">quotidien</div>
    </tr>
    <tr>
    <td class="fond2" height="20" width="170"><img src='../../image/horloge-icone-4789-16.png' border=\"0\"> Airwaybill</td>
    <td class="fond2" align="lef">
    <input class="formulaire" name="requiredAirwaybill" size="25" maxlength="25" type="text" /></td>						</td>
    </tr>
    </tbody>
                	</table>
    	 </fieldset> 
                </td>
                <td valign="top">		 
              </td>
           </tr>
       </tbody>
    </table>
    </form>

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var type = document.myform.getElementById("type").value;


    getElementById() est une méthode de l'objet document uniquement !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var type = document.getElementById("type").value;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    J'ai modifié la ligne "var type" mais ça ne fonctionne toujours pas.

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Il faut passer par selectedIndex, il n'y a pas de notion de "value" sur un select.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Il faut passer par selectedIndex, il n'y a pas de notion de "value" sur un select.
    Si
    Le value d'un objet select correspond au value de l'option sélectionnée
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select onchange="alert(this.value)">
        <option value="-1">Choisissez...</option>
        <option value="1">Un</option>
        <option value="2">Deux</option>
        <option value="3">Trois</option>
    </select>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    pour continuer sur le "value", j'ai essayé le code ci-dessous, mais ça fonctionne toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <script language="javascript">
    function changementType() {
    	var type = document.getElementById("type").value;
    	if (type == "Hebdomadaire") {
    		document.myform.type.getElementById("hebdomadaire").style.display="block";
    	} else{
    		document.myform.type.getElementById("hebdomadaire").style.display="none";
    	}
    	if (type == "Mensuel"){
    		document.myform.type.getElementById("mensuel").style.display="block";
    	}else{
    		document.myform.type.getElementById("mensuel").style.display="none";
    	}
    	if (type == "Quotidien"){
    		document.myform.type.getElementById("quotidien").style.display="block";
    	}else{
    		document.myform.type.getElementById("quotidien").style.display="none";
    	}
    }
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select name="type" id="type" onchange="changementType(this.value);">
    <option value="Hebdomadaire">Hebdomadaire</option>	   	
    <option value="Mensuel">Mensuel</option>		
    <option value="Unique">Unique</option>	
    <option value="Quotidien">Quotidien</option>		   	
    </select>

  7. #7
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Essaie comme ceci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <script type="text/javascript">
    	function changementType(type){
    		switch(type){
    			case 'Hebdomadaire':
    				document.getElementById('mensuel').style.display='none';
    				document.getElementById('quotidien').style.display='none';
    				document.getElementById('hebdomadaire').style.display='block';
    				break;
    			case 'Mensuel':
    				document.getElementById('hebdomadaire').style.display='none';
    				document.getElementById('quotidien').style.display='none';
    				document.getElementById('mensuel').style.display='block';
    				break;
    			case 'Quotidien':
    				document.getElementById('hebdomadaire').style.display='none';
    				document.getElementById('mensuel').style.display='none';
    				document.getElementById('quotidien').style.display='block';
    		}
    	}
    </script>
     
    <select name="type" id="type" onchange="changementType(this.value);">
    	<option value="Hebdomadaire">Hebdomadaire</option>	   	
    	<option value="Mensuel">Mensuel</option>		
    	<option value="Unique">Unique</option>	
    	<option value="Quotidien">Quotidien</option>		   	
    </select>

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    Merci Eric2a mais cela ne fonctionne pas, j'essaye toutes les solutions mais rien ne fonctionne.
    J'arrive a faire fonctioner si le div a faire apparaitre est dans les memes balises "td" mais lorsque qu'il est en dehors rien ne se passe.

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Budy123
    J'arrive a faire fonctioner si le div a faire apparaitre est dans les memes balises "td" mais lorsque qu'il est en dehors rien ne se passe.


    Le contenu d'un tableau doit obligatoirement se trouver dans des balises td ou th !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Bonjour,

    Je ne sais pas quel navigateur est utilisé, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onchange="changementType(this.value);"
    n'est pas géré de façon uniforme sur tous les navigateur, il me semble ?
    A quel moment le select prend la nouvelle 'value' (avant ou après l'évènement) ?
    Perso, j'utilise toujours le monselect.options[monselect.selectedIndex] pour être sûr...

  11. #11
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par nadox
    Bonjour,

    Je ne sais pas quel navigateur est utilisé, mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onchange="changementType(this.value);"
    n'est pas géré de façon uniforme sur tous les navigateur, il me semble ?
    Si, le onchange d'un select est fiable.
    Le souci que tu évoques est lié au onclick sur un radio ou un checkbox
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Heureusement que l'on te dit que getElementById est une methode de document ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.myform.type.getElementById("hebdomadaire").
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Ha bon !
    Au temps pour moi. J'étais persuadé d'avoir rencontré le problème(anciennement). Merci pour la précision alors !

Discussions similaires

  1. Afficher un div à partir d'un select
    Par hebbb dans le forum jQuery
    Réponses: 3
    Dernier message: 23/01/2014, 23h39
  2. Afficher / Cacher une Div contenant un slider
    Par KrusK dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/07/2007, 14h53
  3. afficher un jtable a partir d'une selection jlist
    Par lilmo dans le forum Composants
    Réponses: 1
    Dernier message: 31/12/2006, 10h49
  4. [iframe] Afficher une balise div à partir d'une autre frame
    Par bouchette63 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/10/2006, 11h01
  5. Afficher, cacher plusieurs divs
    Par Buku dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/03/2005, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo