Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme affichage checkbox

    16 janvier 2018 à 11:54:18

    Bonjour,

    J'ai crée une checkbox et je souhaiterai qu'au click elle dévoile d'autre checkboxs initialement cachés.

    J'ai réussi a en faire apparaître une mais pas plusieurs.

    Une solution ?

    <div class="moreOptions">
    <p class="left"> <input type="checkbox" id="caracteresSpeciaux"
    name="mdpType[]" value="caracteresSpeciaux" onclick="AllChar();" <?php if(isset($_POST['mdpType']) && is_array($_POST['mdpType']) && in_array('caracteresSpeciaux', $_POST['mdpType'])) echo 'checked="checked"' ?>/>
    <label for="caracteresSpeciaux">Caractères spéciaux [ !@#$&*-_=+;:,. ]</label></p>
     <script>
    
        	function AllChar()
    
        	{
    
        		if ( document.getElementById('caracteresSpeciaux').checked )
    
        			document.getElementById('cacher').style.display = 'block';
    
        		else			
    
        			document.getElementById('cacher').style.display = 'none';
    
        	}
    
       </script>
    </div>   
    
    <div id="group" style="display: block;">
    	
        <div id="cacher" style="display:none;" >
        	<input type="checkbox"  name="exclamation"
        	 onclick="document.getElementById('caracteresSpeciaux').style.display = 'none';" />
        	 !
        </div>
    
         <div id="cacher" style="display:none;" >
        	<input type="checkbox"  name="interrogation"
        	 onclick="document.getElementById('caracteresSpeciaux').style.display = 'none';" />
        	 !
        </div>
    </div>



    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2018 à 11:57:23

      Salut. Tu as deux id qui valent "cacher" dans ton HTML. Un identifiant doit être unique. Pourquoi ne pas mettre la seconde checkbox dans la même div "cacher" que la première ?
      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2018 à 12:01:13

        Tu as raison ca a marché merci.

        Maintenant le problème c'est que du coup quand je coche une de mes deux checkbox (issu de la première), du coup la premiere checkbox disparait

        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2018 à 12:10:12

          Peux-tu expliquer clairement ce que tu veux faire en une ou deux phrases histoire de bien voir ?
          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2018 à 12:48:22

            Finalement je souhaiterai integrer les valeurs de plusieurs checkbox et les mettres dans un tableau
            • Partager sur Facebook
            • Partager sur Twitter
              16 janvier 2018 à 13:15:40

              je dois créer un tableau en php et y insérer des input dedans.

              En gros ce que j'ai c'est cela:

              <div id="group" style="display: block;">
                  <div id="cacher" style="display:none;" >
                  	<input type="checkbox"  name="exclamation" />
                  	 !
                  	 <input type="checkbox"  name="arobase" />
                  	 @
                  	 <input type="checkbox"  name="diese"" />
                  	 #
                  	 <input type="checkbox"  name="dollar"/>
                  	 $
                  	 <input type="checkbox"  name="et" />
                  	 &
                  	 <input type="checkbox"  name="etoile" />
                  	 *
                  	 <br>
                  	  <input type="checkbox"  name="moins"/>
                  	 -
                  	  <input type="checkbox"  name="tiret-bas" />
                  	 _
                  	  <input type="checkbox"  name="egal" />
                  	 =
                  	  <input type="checkbox"  name="plus" />
                  	 +
                  	  <input type="checkbox"  name="point-virgule" />
                  	 ;
                  	  <input type="checkbox"  name="deux-point" />
                  	 *
                  </div>
              </div>
              

              Sauf qu'au lieu de les mettres sous format linéaire (trop long) je dois les insérer dans un tableau et faire un foreach pour les afficher.
              Je ne vois pas comment faire, si tu pourrais m'aider ca serait très sympa..

              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2018 à 13:39:17

                Comme ça alors :

                const cbs = [
                    {name: "exclamation", char: "!"},
                    {name: "arobase", char: "@"},
                    ...
                ]
                
                for (let cb of cbs) {
                    const i = document.createElement('input')
                    const l = document.createElement('label')
                    i.type = "checkbox"
                    i.name = cb.name
                    l.innerHTML = cb.char
                    document.getElementById('cacher').appendChild(i)
                    document.getElementById('cacher').appendChild(l)
                }
                • Partager sur Facebook
                • Partager sur Twitter

                Probleme affichage checkbox

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown