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 :

Cacher des champs de formulaire au chargement


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Cacher des champs de formulaire au chargement
    Bonjour à tous,

    je débute en JavaScript, ne m'en voulez pas trop si ma question est bête

    Je voudrais afficher différentes listes déroulantes en fonction du bouton radio qui est sélectionné. J'ai réussi a faire une fonction qui fait ça, mais le problème c'est qu'au chargement de la page, toutes les listes déroulantes sont affichées... Comment faire?

    Voici mon code:

    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
     
    <html>
    <head>
    <script language="Javascript">
    function GereControle(radio) {
    	for (var i=0; i<radio.length;i++) {
    		l = "liste_"+i;
    		var objControle = document.getElementById(l);
    		if (radio[i].checked) {
    			objControle.style.visibility = 'visible';
    		}
    		else{
    			objControle.style.visibility = 'hidden';
    		}
    	}
    }
    </script>
    </head>
    <form>
    <br /><br />
    <input type="radio" id="radio_10" name="test" onClick="GereControle(this.form.test);" >&nbsp;<label for="radio_10">Active de "liste_10"</label>
    <br />
    <input type="radio" id="radio_20" name="test" onClick="GereControle(this.form.test); ">&nbsp;<label for="radio_20">Active liste de "liste_20"</label>
    <br/>
    <input type="radio" id="radio_30" name="test" onClick="GereControle(this.form.test);" >&nbsp;<label for="radio_30">Active de "liste_30"</label>
    <br />
     
    <select id="liste_0">
    	<option value="1">Ligne 1</option>
    	<option value="2">Ligne 2</option>
    	<option value="3">Ligne 3</option>
    </select>
    <select id="liste_1">
    	<option value="1">Ligne 1</option>
    	<option value="2">Ligne 2</option>
    	<option value="3">Ligne 3</option>
    </select>
    <select id="liste_2">
    	<option value="1">Ligne 1</option>
    	<option value="2">Ligne 2</option>
    	<option value="3">Ligne 3</option>
    </select>
    </form>
     
    </body>
    </html>
    Merci d'avance!

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Il te manque une balise <body> apres </head>

    dans cette balise tu peux ecrire ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body onload="GereControle()">
    A toi bien sur de mettre les parametres qui t interessent

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    La balise <body> manquante est un oubli, je l'ai oubliée en faisant les différents copier/coller...

    J'ai testé "onLoad" mais je n'arrive pas à lui passer le bon paramètre je pense.
    Voici mes différents essais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <body onLoad="GereControle(form.test)">
    <body onLoad="GereControle(test)">
    <body onLoad="GereControle(this.form.test)">
    mais aucun ne fonctionne...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Ca y est j'ai trouvé, j'ai donné un id a mon formulaire et je l'ai appelé dans le onLoad:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <body onLoad="GereControle(formulaire1.test)">
     
    <form id="formulaire1">
    <input type="radio" id="radio_10" name="test" onClick="GereControle(this.form.test);" >&nbsp;<label for="radio_10">Active de "liste_10"</label>
    <input type="radio" id="radio_20" name="test" onClick="GereControle(this.form.test); ">&nbsp;<label for="radio_20">Active liste de "liste_20"</label>
    <input type="radio" id="radio_30" name="test" onClick="GereControle(this.form.test);" >&nbsp;<label for="radio_30">Active de "liste_30"</label>
    ...
    Merci!

  5. #5
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    essaye avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    onLoad="GereControle(document.getElementById('radio_10') )"
    pour definir le premier de tous par defaut

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Ah ok t as trouve entre temps ..

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par willoi
    essaye avec ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    onLoad="GereControle(document.getElementById('radio_10') )"
    pour definir le premier de tous par defaut
    Ceci ne fonctionne pas.

    Par contre ceci oui:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onLoad="GereControle(document.getElementsByName('test'))">
    Encore merci !

  8. #8
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Effectivement car tu effectue ton traitement sur l ensemble de tes champs radios!

    A+

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

Discussions similaires

  1. [SP-2010] WorkFlow - Cacher des champs dans un formulaire
    Par yann47550 dans le forum SharePoint
    Réponses: 1
    Dernier message: 31/05/2013, 11h58
  2. Réponses: 6
    Dernier message: 16/03/2009, 08h57
  3. afficher/cacher des champs
    Par chifo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/02/2007, 15h54
  4. bloquer des champs de formulaires
    Par reventlov dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/03/2006, 16h33
  5. Réponses: 4
    Dernier message: 13/09/2005, 11h50

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