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 :

Masquer entièrement une checkbox


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    mai 2013
    Messages
    820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : mai 2013
    Messages : 820
    Points : 1 263
    Points
    1 263
    Par défaut Masquer entièrement une checkbox
    Bonjour,

    Je débute en HTML, PHP, CSS & JS et je suis un peu bloqué sur le masquage d'une case à cocher.
    J'ai ce code dans un fichier HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <label for="maListe">C'est ma liste :</label>
    <select id="maListe" name="maListe" onchange="funclst_AffCheckBox('maListe', 'maChk')">				
    	<?php echo funcLstObtentions();?>					
    </select>
    <input type="checkbox" id="maChk" name="maChk" value="off">Hello the World ?</input>

    et ce code dans un fichier JS :
    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
    function funclst_AffCheckBox(lst, chk)
    {
    	try
    	{
    		var myLst = document.getElementById(lst);
    		var myChk = document.getElementById(chk);
     
    		i = myLst.selectedIndex;
     
    		if (i == 0)
    		{
    			myChk.style.visibility = 'hidden';
    		}
    		else
    		{
    			myChk.style.visibility = 'visible';
    		}
    	}
    	catch(err)
    	{
    		alert('Erreur rencontrée. ' +
              '\nNom de l\'erreur : ' + err.name +
              '\nMessage d\'erreur : ' + err.message +
              '\nEmplacement de l\'erreur : ' + err.stack);
    	}
    }
    Je ne sais pas si c'est le plus optimal mais ça fonctionne dans l'ensemble.
    J'ai un peu galéré déjà pour avoir un semblant de résultat, vu les différentes méthodes présentées sur les forums/tutoriels et le côté débile dont j'ai pu faire preuve pour faire fonctionner ça.

    Je dis que ça fonctionne dans l'ensemble car lorsque je cherche à masquer la checkbox, le label associé "Hello the World ?" reste affiché (ce que je ne souhaite pas, évidemment).
    Je n'ai cependant aucune idée de comment je pourrais orienter ma recherche pour trouver une solution.

    Merci d'avance,
    Le sabre est une arme. Le kendo est un art de tuer. Quelques soient les belles paroles pour l'expliquer, telle est sa vérité.

  2. #2
    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
    38 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    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 : 38 767
    Points : 64 618
    Points
    64 618
    Billets dans le blog
    1
    Par défaut
    Je ne vois à aucun moment une instruction dans ton code pour masquer le label...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myChk = document.getElementById(chk);
    ne pointe que sur id=maChk

    Soit tu mets aussi un id rationnel lié à l'id du checkbox pour le masquer,
    soit tu mets le tous dans un elements de type div et tu masques le div (avec par exemple parentNode... )
    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 !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre éprouvé Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    mai 2013
    Messages
    820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : mai 2013
    Messages : 820
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour SpaceFrog,

    Merci !
    Effectivement, en passant par un div, c'est mieux !

    Donc en gros, à la création d'une checkbox, le label est totalement dissocié de celle-ci ?

    Trop l'habitude de gérer ces trucs en VBA...

    Bonne journée
    Le sabre est une arme. Le kendo est un art de tuer. Quelques soient les belles paroles pour l'expliquer, telle est sa vérité.

  4. #4
    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
    38 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    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 : 38 767
    Points : 64 618
    Points
    64 618
    Billets dans le blog
    1
    Par défaut
    Sauf au moyen du for qui le lie => un click sur le label coche l'élement for lié ...
    Mais pour le cacher il n'est pas lié ...
    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 !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Membre éprouvé Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    mai 2013
    Messages
    820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : mai 2013
    Messages : 820
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour,

    Merci pour l'information !
    J'ai déjà vu l'histoire du for pour lier le label à un objet mais comme le label était déjà associé à la checkbox, je n'ai pas cherché plus loin.

    Bonne journée !
    Le sabre est une arme. Le kendo est un art de tuer. Quelques soient les belles paroles pour l'expliquer, telle est sa vérité.

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

Discussions similaires

  1. Masquer du texte avec une checkbox
    Par hbge12 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 22/09/2012, 23h27
  2. Réponses: 10
    Dernier message: 28/03/2011, 17h01
  3. Comment utiliser masquer une checkbox avec hidden
    Par sebac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/06/2009, 11h47
  4. Masquer un champs à l'aide d'une checkbox
    Par Jumano dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/03/2007, 17h15

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