Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script marche sous IE7 mais pas sous FF

Sujet résolu
    24 octobre 2008 à 19:57:18

    Bonjour,
    j'ai un script pour cocher et décocher les case checkbox qui marche sous IE et pas sous FF !!

    Voici:
    <script type="text/javascript">
    var toggle = true;
        function cocher()
        {
            for (var i=0;i<document.frm.elements.length;i++)
            {
                var e = document.frm.elements[i];
                 e.checked = toggle;    
            }
            if (toggle)
            {
                frm.btn.value="Décocher";
            }
            else
            {
                frm.btn.value="Cocher";
            }
            toggle = !toggle;
        }
    </script>
    

    Puis dans le script je met ceci:

    <p align="right"><input type="button" name="btn" value="Cocher" onclick="cocher();"></p>
    



    Sous IE il permutte bien de Cocher en Décocher mais sous FF il reste en Cocher.

    Quelque pourrait me dire pourquoi et quoi faire ?
    merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      24 octobre 2008 à 21:28:48

      regarde la console d'erreur :
      menu > outils > console d'erreur


      ( tu efface, recharge ta page et exécute cocher() )
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2008 à 23:04:41

        selon moi c'est l'attribut frm de document qui n'existe pas sur firefox. He oui, selon les standarts DOM c'est document.form
        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2008 à 23:39:47

          Pas la peine de poster deux sujets pour le meme probleme...déjà répondu sur l'autre sujet je remet quand meme la réponse...

          J'ai du faire ce script pour mon prochain site perso il y a quelque jours...
          Après une recherche brève j'ai trouvé le même script que proposé plus haut sauf que je l"ai modifié et amélioré un peu:
          Quand tu coche la checkbox toutes le checkbox se cochent, et quand tu reclique, elle se decochent...

          Ton formulaire doit comporter un attribut name intitulé F1 (ca si tu le change tu le change aussi dans le JS) :donc

          <form name="F1" action="blabla.php" method="POST" />
          


          Et dans ta checkbox qui aura pour but de selectionner toutes les autres:

          <input type="checkbox" onClick="toutcocher();" name="toutcocher" />
          


          toutcoche=false;
          		
          function toutcocher()
          {
          	if(!toutcoche)
          	{
          		for(i=0;i<document.F1.length;i++)
          		{
          			if(document.F1.elements[i].type=="checkbox")
          			document.F1.elements[i].checked=true;
          		}	
          		toutcoche=true;
          	}
          	else
          	{
          		for(i=0;i<document.F1.length;i++)
          		{
          			if(document.F1.elements[i].type=="checkbox")
          			document.F1.elements[i].checked=false;
          		}	
          		toutcoche=false;
          	}
          }
          

          • Partager sur Facebook
          • Partager sur Twitter
            25 octobre 2008 à 16:54:14

            merci ^^ ça marche mais a moitié car le bouton Cocher ne se transforme pas en Décocher.
            Voici un script qui marche sous IE et FF car il est préférable d'indiqué un id dans un div plutôt qu'un name:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
             
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
             
            <head>
             
            <title></title>
             
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <meta http-equiv="Content-Language" content="fr" />
             
             
            <script type="text/javascript">
            <!--
            var toggle = true;
            function cocher()
            {
              var tabChk = document.getElementById("conteneurChk").getElementsByTagName("input");
              var n= tabChk.length;
              var i;
              
              for (i=0; i<n; i++)
              {
                if (tabChk[i].type.toLowerCase()=="checkbox")
                  tabChk[i].checked = toggle;
              }
              
              toggle = (!toggle);
              if (toggle)
                document.getElementById("btn").value = "Cocher";
              else
                document.getElementById("btn").value = "Décocher";
            }
            //-->
            </script>
             
            </head>
             
            <body>
             
            <div>
              <input type="button" id="btn" value="Cocher" onclick="cocher();"><br/>
             
              <div id="conteneurChk">
                <input type="checkbox" />Choix 1<br/>
                <input type="checkbox" />Choix 2<br/>
                <input type="checkbox" />Choix 3<br/>
                <input type="checkbox" />Choix 4<br/>
                <input type="checkbox" />Choix 5<br/>
                <input type="checkbox" />Choix 6<br/>
                <input type="checkbox" />Choix 7<br/>
                <input type="checkbox" />Choix 8<br/>
              </div>
            </div>
             
            </body>
            </html>
            


            Merci pour l'aide apportée.
            ++
            • Partager sur Facebook
            • Partager sur Twitter

            Script marche sous IE7 mais pas sous FF

            × 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