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 :

Formulaire : champs à affichage conditionnel avec Javascript


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Formulaire : champs à affichage conditionnel avec Javascript
    Bonjour,

    Je bloque sur un point depuis plusieurs heure :
    Je voudrais faire apparaitre le champs "ville_d_espagne" seulement si la personne sélectionne le pays espagne dans la liste déroulante juste avant.

    Je sais que je dois utiliser javascript, j'ai essayé plusieurs solutions avec onclick(); mais je n'ai pas réussi à trouver une solution correcte. Pourriez-vous m'aider svp ?

    Merci d'avance

    Code html : 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
    <!DOCTYPE html>
    <html>
    	<head>
            <meta charset="utf-8" />
            <title>Formulaire</title>
            </head>
            <body>
     
            <form name="formulaire">
     
            	<p><label for="pays">Dans quel pays habitez-vous ?</label><br /></p>
    		        <select name="pays" id="pays">
    		            <option value="france" >France</option>
    		            <option value="espagne">Espagne</option>
    		            <option value="italie">Italie</option>
    		        </select>
     
    		    <p><label for="ville_d_espagne">Quelle est votre ville espagnole favorite?</label><br /></p>
    		        <select name="ville_d_espagne" id="ville_d_espagne">
    		            <option value="madrid" >Madrid</option>
    		            <option value="santiago">Santiago</option>
    		            <option value="grenade">Grenade</option>
    		        </select>
      		</form>
     
    	</body>
    </html>

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Pour précision :

    J'ai pensé à insérer un onclick dans l'option "espagne" comme ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="espagne" onclick="affiche(this)">Espagne</option>

    qui renvoie vers une fonction écrite en javascipt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    	      	function affichebox(element) 
    	    	{
     				if(element=="espagne") 
    				{ 
                                             //Je bloque ici, quelle instruction mettre pour afficher le champ ville_d_espagne ssi espagne est sélectionné ?????
    				} 
    				 else 
    				{ 
                                            // on masque
    				};
    		}
    	    </script>

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Points : 634
    Points
    634
    Par défaut
    Bonsoir

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    element.style.display = "block";

    voila comment afficher l'element

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 645
    Points
    16 645
    Par défaut
    Salut
    onclick="affiche(this)" puis function affichebox(element)ta fonction n'a pas le nom de ton appel onclick

  5. #5
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 645
    Points
    16 645
    Par défaut
    Re
    Une façon de faire
    Code html : 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
    <!DOCTYPE html>
    <html>
    	<head>
            <meta charset="utf-8" />
            <title>Formulaire</title>
    	</head>
    	<body>
     
            <form name="formulaire">
     
            	<p><label for="pays">Dans quel pays habitez-vous ?</label><br /></p>
    		        <select name="pays" id="pays" onclick="affichebox()">
    		            <option value="france" >France</option>
    		            <option value="espagne">Espagne</option>
    		            <option value="italie">Italie</option>
    		        </select>
     
    		    <p><label for="ville_d_espagne" >Quelle est votre ville espagnole favorite?</label><br /></p>
    		        <select name="ville_d_espagne" id="ville_d_espagne" style="display:none">
    		            <option value="madrid" >Madrid</option>
    		            <option value="santiago">Santiago</option>
    		            <option value="grenade">Grenade</option>
    		        </select>
      		</form>
     
    	<script>
                    function affichebox() 
                    {
                    let txt = ObjSlect.value;
                                    if(txt=='espagne') 
                                    { //Je bloque ici, quelle instruction mettre pour afficher le champ ville_d_espagne ssi espagne est sélectionné ?????
                                            document.getElementById('ville_d_espagne').style.display = 'block';
                                            }else{  // on masque
                                            document.getElementById('ville_d_espagne').style.display = 'none';
                                    };
                    }
                </script>
    	</body>
    </html>

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre aide, je suis en train de tester tout ça

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ProgElect, merci beaucoup, j'étais sur le point de te demander de l'aide et juste avant j'ai fait qques modifs, je me suis débloqué.

    Voici le code que j'ai utilisé, c'est quasiment comme le tien, mais j'ai essayé de le réécrire à ma façon.

    merci encore

    Code html : 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
    <!DOCTYPE html>
    <html>
    	<head>
            <meta charset="utf-8" />
            <title>Formulaire</title>
    	</head>
    	<body>
     
    		<script>
                    function affichebox() 
                    {
                            var paystemp = document.getElementById('pays').value
                            if (paystemp=="espagne")
                            {
                             document.getElementById('ville_d_espagne').style.display = 'block';
                            }
                            else
                            {
                                     document.getElementById('ville_d_espagne').style.display = 'none';
                            }
                    }
                </script>
     
            <form name="formulaire">
     
            	<p><label for="pays">Dans quel pays habitez-vous ?</label><br /></p>
    		        <select name="pays" id="pays" onclick="affichebox()">
    		            <option value="france" >France</option>
    		            <option value="espagne">Espagne</option>
    		            <option value="italie">Italie</option>
    		        </select>
     
    		    <p><label for="ville_d_espagne" >Quelle est votre ville espagnole favorite?</label><br /></p>
    		        <select name="ville_d_espagne" id="ville_d_espagne" style="display:none">
    		            <option value="madrid" >Madrid</option>
    		            <option value="santiago">Santiago</option>
    		            <option value="grenade">Grenade</option>
    		        </select>
      		</form>
     
     
    	</body>
    </html>

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 645
    Points
    16 645
    Par défaut
    Salut

    La base du code proposé était let ObjSlect = document.getElementById('pays');, quand j'ai nettoyé le code pour ton cas particulier, j'ai supprimé accidentellement la ligne créent la variable objet ObjSlect

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Formulaire : champs à affichage conditionnel
    Par plorton dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 30/08/2011, 13h10
  2. Réponses: 0
    Dernier message: 23/11/2010, 11h46
  3. [Encodage] affichage/encodage avec JavaScript
    Par gia_nguyen dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/09/2010, 12h10
  4. [DOM] Formulaire dynamique : affichage conditionnel de champs
    Par Flackou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/08/2008, 22h47
  5. Réponses: 3
    Dernier message: 20/09/2006, 17h07

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