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 :

<select> qui affiche des input different suivant la selection


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut <select> qui affiche des input different suivant la selection
    Bonjour à tous,

    désoler si je pose une question bete mais je connai tres peu le js.

    voila le probleme, j'ai un formulaire avec un champs select et j'aimerai afficher des champs inupt suivant la sellection.

    voici la partie de code en question:

    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
    <div class="form-row">
    <div class="field-label"><label for="field10">Type du contrat</label>:</div>
    <div class="field-widget">
     <select id="field10" name="field10" class="validate-selection" title="Choisir le type de contrat">
    <option>Séléctionner un type...</option>
    <option>CDI</option>
    <option>CDD</option>
    <option>Préstataire</option>
    <option>Interimaire</option>
    </select>
    </div>
    </div>
    <div class="form-row">
    <div class="field-label"><label for="field11">Date de fin de contrat/mission*</label>:</div>
    <div class="field-widget"><input name="field11" id="field11" class="required validate-date-au" title="Entrer la date de fin de contrat/mission" /></div>
    </div>
    <div class="form-row">
    <div class="field-label"><label for="field12">Société*</label>:</div>
    <div class="field-widget"><input name="field12" id="field12" class="required validate-alphanum" title="Entrer le nom de la société" /></div>
    </div>
    il faudrai afficher pour:
    cdi --> aucun des deux input
    cdd --> le field11
    prestataire et interimaire les deux input

    quelle qu'un pour m'explique et m'aider ???

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    salut
    sur ton select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="toggleInput(this);"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function toggleInput(o)
    {
      var choix = ... // récupère le choix
      document.getElementById('input1').style.display = (choix == 'toto' ? "block" : "none");
      document.getElementById('input2').style.display = (choix == 'titi' ? "block" : "none");
      document.getElementById('input3').style.display = (choix == 'tutu' ? "block" : "none");
      ...
    }
    par exemple

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut merci
    merci pour ta reponse mais j'aurai encor besoin d'aide voici mes fichier:

    fichier index:
    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
     
    <div class="form-row">
    	<div class="field-label"><label for="field10">Type du contrat</label>:</div>
    		<div class="field-widget">
    			<select id="field10" name="field10" class="validate-selection" title="Choisir le type de contrat" onchange="toggleInput(this);">
    				<option>Séléctionner un type...</option>
    				<option>CDI</option>
    				<option>CDD</option>
    				<option>Préstataire</option>
    				<option>Interimaire</option>
    			</select>
    		</div>
    	</div>
    <div id="CDD" style="display:none;">
    	<div class="form-row">
    		<div class="field-label"><label for="field11">Date de fin de contrat/mission*</label>:</div>
    		<div class="field-widget"><input name="field11" id="field11" class="required validate-date-au" title="Entrer la date de fin de contrat/mission" /></div>
    	</div>
    </div>
     <div id="autre" style="display:none;">
    	<div class="form-row">
    	        <div class="field-label"><label for="field11">Date de fin de contrat/mission*</label>:</div>
    		<div class="field-widget"><input name="field11" id="field11" class="required validate-date-au" title="Entrer la date de fin de contrat/mission" /></div>
    	</div>
            <div class="form-row" style="display:none;">
                    <div class="field-label"><label for="field12">Société*</label>:</div>
    	        <div class="field-widget"><input name="field12" id="field12" class="required validate-alphanum" title="Entrer le nom de la société" /></div>
             </div>
    </div>
    le fichier js.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function toggleInput(o)
    {
      var choix =
      document.getElementById('CDD').style.display = (choix == 'CDD' ? "block" : "none");
      document.getElementById('autre').style.display = (choix == 'Préstataire' ? "block" : "none");
      document.getElementById('autre').style.display = (choix == 'Interimaire' ? "block" : "none");
    }
    sa ne marche pas une idée du probleme ?

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    oh oui je vois bien quelques petites choses
    déjà tu ne donnes pas de valeur à choix dans ta fonction
    ensuite pour l'input "autre" tu fais 2 affectations au lieu d'une (la 1ere est annulée par la 2ème)
    les <option> n'ont pas de value (c'est la value que tu dois récupérer et mettre dans ton choix), mais peut-être qu'en l'absence de value explicite la value équivaut au libellé ?

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    c'st la value qui compte pour les select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="toggleInput(this.value);"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <option value="-1">Séléctionner un type...</option>
    <option value="CDI">CDI</option>
    <option value="CDD">CDD</option>
    <option value="Préstataire">Préstataire</option>
    <option value="Interimaire">Interimaire</option>
    A+

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    sa marche toujour 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
    22
    23
    24
    25
    26
    27
    28
    <div class="form-row">
    	<div class="field-label"><label for="field10">Type du contrat</label>:</div>
    	<div class="field-widget">
    		<select id="field10" name="field10" class="validate-selection" title="Choisir le type de contrat" onchange="toggleInput(this.value);">
    			<option value="-1">Séléctionner un type...</option>
    			<option value="CDI">CDI</option>
    			<option value="CDD">CDD</option>
    			<option value="Préstataire">Préstataire</option>
    			<option value="Interimaire">Interimaire</option>
    		</select>
    	</div>
    </div>
    	<div id="CDD" style="display:none;">
    		<div class="form-row">
    			<div class="field-label"><label for="field11">Date de fin de contrat/mission*</label>:</div>
    			<div class="field-widget"><input name="field11" id="field11" class="required validate-date-au" title="Entrer la date de fin de contrat/mission" /></div>
    		</div>
    	</div>
    	<div id="autre" style="display:none;">
    		<div class="form-row">
    			<div class="field-label"><label for="field11">Date de fin de contrat/mission*</label>:</div>
    			<div class="field-widget"><input name="field11" id="field11" class="required validate-date-au" title="Entrer la date de fin de contrat/mission" /></div>
    		</div>
    	<div class="form-row">
    		<div class="field-label"><label for="field12">Société*</label>:</div>
    		<div class="field-widget"><input name="field12" id="field12" class="required validate-alphanum" title="Entrer le nom de la société" /></div>
    	</div>
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function toggleInput(o)
    {
      var choix = CDD, Préstataire, Interimaire
      document.getElementById('CDD').style.display = (choix == 'CDD' ? "block" : "none");
      document.getElementById('autre').style.display = (choix == 'Préstataire' ? "block" : "none");
      document.getElementById('autre').style.display = (choix == 'Interimaire' ? "block" : "none");
    }
    une idée ?

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par cirvent Voir le message
    une idée ?
    oui...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function toggleInput(o)
    {
      document.getElementById('CDD').style.display = (o== 'CDD' ? "block" : "none");
      document.getElementById('autre').style.display = (o == 'Préstataire' || o == 'Interimaire' ? "block" : "none");
    }

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Heu ... c'est quoi ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var choix = CDD, Préstataire, Interimaire


    Pas du JS, en tous cas ...

    EDIT : grilled

    A+

  9. #9
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    sinon pour info
    Prestataire
    Intérimaire

  10. #10
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    heu rectification a priori sa fonctionne bien !!

  11. #11
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    nikel les gas je vous remercie énormément !

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

Discussions similaires

  1. Des boutons qui affichent des sous formulaires
    Par nicolas2603 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2007, 15h43
  2. executer un programme qui demande des input
    Par Pauli dans le forum Langage
    Réponses: 4
    Dernier message: 28/01/2007, 10h43
  3. menu javascript qui chevauche des inputs et listes
    Par jiojioforever dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/11/2006, 10h09
  4. [Tool Tip Text]Lien qui affiche des infos sans cliquer !
    Par Melchisedec dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 08/06/2006, 14h14
  5. Générer des input à partir d'un select
    Par Rekiem dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/05/2006, 15h51

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