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 :

créer un champ de formulaire optionnel


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Points : 28
    Points
    28
    Par défaut créer un champ de formulaire optionnel
    Bonjour, je suis totalement profane en javascript.

    Je crée actuellement un formulaire avec des menus déroulants. Je voudrais que lorsque je sélectionne une option dans un menu, un autre champ à menu déroulant qui était à l'origine caché apparaisse à côté, proposant de nouvelles options plus précises.

    On trouve ça de temps à autre sur des sites proposant des formulaires d'inscription qui vous demandent par exemple votre région. Lorsque vous la sélectionner, vous voyer apparaître un nouveau champ qui vous demande de préciser le département de cette région, etc.

    En bref, je cherche un script, un tuto, un lien, etc. incluant ce genre d'exemple.

    Merci d'avance,

    L.C.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,
    Deux solutions sont possibles, cela dépend d'où tu tires tes informations. Viennent-elles d'une base de données ou les a tu écrites manuellement en HTML ?

    Si elles viennent d'une base de données il faudra t'orienter vers l'AJAX, qui te permettra d'executer des scripts afin de récupérer dynamiquement des informatios à partir d'une source quelconque.

    Si tu les as écrites manuellement, tu peux faire çà facilement en javascript en utilisant la propriété display:none / block; CSS.
    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
     
     
    	function changeSelect(selectedItem){
    		switch(selectedItem.value){
    			case "Direction" :
    				document.getElementById('X').style.display = "block";
    				document.getElementById('B').style.display = "none";
    				document.getElementById('Z').style.display = "none";
    				document.getElementById('Y').style.display = "none";
    				document.getElementById('H').style.display = "none";
    				document.getElementById('M').style.display = "none";
    			break;	
    			case "Projet" :
    				document.getElementById('X').style.display = "none";
    				document.getElementById('B').style.display = "block";
    				document.getElementById('Z').style.display = "none";
    				document.getElementById('Y').style.display = "none";
    				document.getElementById('H').style.display = "none";
    				document.getElementById('M').style.display = "none";
    			break;
    			case "Studio" :
    				document.getElementById('X').style.display = "none";
    				document.getElementById('B').style.display = "none";
    				document.getElementById('Z').style.display = "block";
    				document.getElementById('Y').style.display = "block";
    				document.getElementById('H').style.display = "none";
    				document.getElementById('M').style.display = "none";
    			break;
    			case "Developpemnt" :
    				document.getElementById('X').style.display = "none";
    				document.getElementById('B').style.display = "none";
    				document.getElementById('Z').style.display = "none";
    				document.getElementById('Y').style.display = "none";
    				document.getElementById('H').style.display = "block";
    				document.getElementById('M').style.display = "block";
    			break;
    		}
     
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <select name="Postes" onchange="changeSelect(this.options[this.selectedIndex]);">
    	<option value="Direction">Direction</option>
    	<option value="Projet">Projet</option>
    	<option value="Studio">Studio</option>
    	<option value="Developpement">Développement</option>
    </select>
    <select name="Personnes" id="Personnes">
    	<option value="Mr.X" id="X" style="display:none;">Mr.X</option>
    	<option value="Mme.B" id="B" style="display:none;">Mr.X</option>
    	<option value="Mr.Z" id="Z" style="display:none;">Mr.X</option>
    	<option value="Mr.Y" id="Y" style="display:none;">Mr.X</option>
    	<option value="Mme.H" id="H" style="display:none;">Mr.X</option>
    	<option value="Mr.M" id="M" style="display:none;">Mr.X</option>
    </select>
    J'ai écrit ca vite il y a peut-être quelques erreurs.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Points : 28
    Points
    28
    Par défaut
    Merci de l'info, je vais exploiter la partie manuelle, car en effet j'ai écrit ce formulaire en html

Discussions similaires

  1. Réponses: 25
    Dernier message: 16/06/2009, 11h36
  2. Réponses: 4
    Dernier message: 09/01/2008, 20h10
  3. Créer des champs en automatique dans formulaire
    Par Daniel MOREAU dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/06/2007, 18h14
  4. Réponses: 5
    Dernier message: 12/07/2005, 17h04
  5. Réponses: 6
    Dernier message: 04/11/2004, 17h35

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