Partage
  • Partager sur Facebook
  • Partager sur Twitter

checkbox

cocher / décocher

Sujet résolu
    27 octobre 2008 à 11:42:08

    Bonjour !

    Je vais commencer par expliquer mon problème avec un petit screen.

    Le soucis c'est que lorsque je clic sur le bouton 'tout décocher', les checkox des zones de texte se cochent/décochent bien, par contre dès que le script arrive au niveau des checkbox des images, ça coince...

    script de la fonction
    function toutCocher(action)
    {
    	var nbr_texte = server_request('./variable_session.php?variable=texte'); //va chercher le nombre de zones de texte ouvertes
    	var nbr_image = server_request('./variable_session.php?variable=image'); //va chercher le nombre de zones d'image ouvertes (avec ou sans image appellée)
    	var i = 1;
    	if(action == '1')
    	{
    		document.getElementById('cocher_decocher').value = '0';
    		document.getElementById('tout_cocher').value = 'Tout décocher';
    		while(i < nbr_texte)
    		{
    			document.getElementById('checkbox_texte'+i).checked = 1;
    			i++;
    		}
    		i = 1;
    		while(i < nbr_image)
    		{
    			alert('1 : '+i);
    			if(document.getElementById('adr_image'+i).value != '')
    			{
    				alert('2 : '+i);
    				document.getElementById('checkbox_image'+i).checked = 1;
    			}
    			i++;
    		}
    	}
    	
    	else
    	{
    		document.getElementById('cocher_decocher').value = '1';
    		document.getElementById('tout_cocher').value = 'Tout cocher';
    		while(i < nbr_texte)
    		{
    			document.getElementById('checkbox_texte'+i).checked = 0;
    			i++;
    		}
    		i = 1;
    		while(i < nbr_image)
    		{
    			alert('1 : '+i); // alerte en dehors de la condition indiquant la zone d'image en cours
    			if(document.getElementById('adr_image'+i).value != '') //s'il n'y a pas d'image dans cette zone, il n'y a pas de checkox, on gère seulement si une image est appelée et donc qu'on a bien les options ouvertes
    			{
    				alert('2 : '+i); //alerte qui indique qu'on a bien des options et qu'il faut décocher
    				document.getElementById('checkbox_image'+i).checked = 0;
    			}
    			i++;
    		}
    	}
    }
    


    script du bouton et du checkbox image
    <input type='hidden' name='cocher_decocher' id='cocher_decocher' value='0'><input type='button' name='tout_cocher' id='tout_cocher' value='Tout décocher' onclick=\"toutCocher(cocher_decocher.value);\">
    
    
    <input type='checkbox' name='checkbox_image".$_SESSION['nbr_image']."' id='checkbox_image".$_SESSION['nbr_image']."' value='checkbox_image".$_SESSION['nbr_image']."' checked=0>
    


    Pourtant le script rentre bien dans les boucles selon la condition (je le vois grâce aux alert).

    les alerts m'affiches
    - 1 : 1
    - 1 : 2
    - 2 : 2
    et ensuite firebug annonce l'erreur
    document.getElementById("checkox_image" + i) is null
    while(i < nbr_image)
    • Partager sur Facebook
    • Partager sur Twitter
      27 octobre 2008 à 11:47:51

      while(i <= nbr_image)

      essaie avec ça
      • Partager sur Facebook
      • Partager sur Twitter
        27 octobre 2008 à 11:59:14

        Toujours le même problème mais il ne m'affiche plus l'alerte 2 : 2
        Sachant que la valeur des nbr_image et nbr_texte sont de 1 supérieur a ceux qui doivent être traiter. (j'avais pas précisé ça aussi dsl :euh: )
        • Partager sur Facebook
        • Partager sur Twitter
          27 octobre 2008 à 12:12:04

          <input type='checkbox' name='checkbox_image<?php echo $_SESSION['nbr_image']?>' id='checkbox_image<?php echo$_SESSION['nbr_image']?>' value='checkbox_image<?php echo$_SESSION['nbr_image']?>' checked=0>

          Moi j'auria fais ça
          • Partager sur Facebook
          • Partager sur Twitter
            27 octobre 2008 à 13:37:09

            ouais aussi mais le tout est dans un echo en fait.
            mais c'est pas ça qui pose problème puisque j'ai la exactement la même chose pour les textes et ça marche pourtant...
            • Partager sur Facebook
            • Partager sur Twitter
              27 octobre 2008 à 13:42:50

              et firebug te dit quoi?
              • Partager sur Facebook
              • Partager sur Twitter
                27 octobre 2008 à 13:50:24

                document.getElementById("checkox_image" + i) is null
                while(i < nbr_image)

                lorsque la boucle arrive sur une image où les options sont ouvertes. Donc là où la fonction devrait décocher / cocher le checkbox avec
                document.getElementById('checkbox_image'+i).checked = 0;
                

                • Partager sur Facebook
                • Partager sur Twitter

                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