Probleme javascript

Résolu
atout1 Messages postés 236 Statut Membre -  
Defouille Messages postés 404 Statut Membre -
Bonjour, tt le monde

je veux mon checkbox Tout cocher coche tous les autres checkbox sauf les deux premier
voici mon code; le pb est que le checkbox tout cocher coche rien du tout et je ne comprends pas prkoi ???

Merci pour votre aide

<script langage="javascript">
function selectAll()
{
for(i=0;i<document.listeObjetForm.length;i++)
{
if(document.listeObjetForm.elements[i].type == "checkbox" )
{
if(document.listeObjetForm.elements[i].name == "MoyT" || document.listeObjetForm.elements[i].name == "MoyS" )
{
document.listeObjetForm.elements[i].checked = false;
}
else
{
document.listeObjetForm.elements[i].checked = true;
}
}
}
}

</script>

<?php
echo "
<form class='centrer' name='listeObjetForm'>
<input name='MoyT' type='checkbox' value='MoyT' /> Moy T
<input name='MoyS' type='checkbox' value='MoyS' /> Moy S
<input type='checkbox' name='tout' onClick='selectAll()'/> Tout cocher
<input type='checkbox' name='12'/>
<input type='checkbox' name='13'/>
<input type='checkbox' .name='18'/>
<input type='checkbox' name='22'/>
<input type='checkbox' name='24'/>
</form> ";
?>

1 réponse

  1. Defouille Messages postés 404 Statut Membre 54
     
    Bonjour,

    Je ne connais pas "listeObjetForm" et apparement firebug n'aime pas non plus :p
    je te propose une alternative getElementsByTagName :

    function selectAll()
    {
    	var inputs = document.getElementsByTagName('input') ;
    	for(i=0;i<inputs.length;i++)
    	{
    		if(inputs[i].type == "checkbox" )
    		{
    			if(inputs[i].name == "MoyT" || inputs[i].name == "MoyS" )
    				inputs[i].checked = false;
    			else
    				inputs[i].checked = true;
    		}
    	}
    }


    0
    1. atout1 Messages postés 236 Statut Membre
       
      salut
      merci pour la réponse, je veux tester

      en fait listeObjForm c'est le nom du <form>
      0
    2. atout1 Messages postés 236 Statut Membre
       
      ça marche mais le pb il coche tout les chekbox de la page et moi je veux ke pour un form spécifique
      0
    3. Defouille Messages postés 404 Statut Membre 54
       
      remplace
      var inputs = document.getElementsByTagName('input') ;

      par
      var inputs = document.getElementById('listeObjForm').getElementsByTagName('input') ;


      Et rajoute l'id listeObjForm a ton form :
      <form class="centrer" id= "listeObjForm" name="listeObjetForm"> 
      0
    4. atout1 Messages postés 236 Statut Membre
       
      ca ne marche plus :S quand j'ajout getElementById('listeObjForm') et l'id a mon form
      0
    5. Defouille Messages postés 404 Statut Membre 54
       
      Avec ce code cela marche très bien...

      <script langage="javascript">
      function selectAll()
      {
      	var inputs = document.getElementById('listeObjetForm').getElementsByTagName('input') ;
      	for(i=0;i<inputs.length;i++)
      	{
      		if(inputs[i].type == "checkbox" )
      		{
      			if(inputs[i].name == "MoyT" || inputs[i].name == "MoyS" )
      				inputs[i].checked = false;
      			else
      				inputs[i].checked = true;
      		}
      	}
      }
      
      </script>
      
      
      <form class="centrer" id="listeObjetForm" name="listeObjetForm">
      <input name="MoyT" type="checkbox" value="MoyT" /> Moy T
      <input name="MoyS" type="checkbox" value="MoyS" /> Moy S
      <input type="checkbox" name="tout" onClick="selectAll()"/> Tout cocher
      <input type="checkbox" name="12"/>
      <input type="checkbox" name="13"/>
      <input type="checkbox" .name="18"/>
      <input type="checkbox" name="22"/>
      <input type="checkbox" name="24"/>
      </form> 
      <form class="centrer" id="listeObjetForm2" name="listeObjetForm2">
      <input name="MoyT" type="checkbox" value="MoyT" /> Moy T
      <input name="MoyS" type="checkbox" value="MoyS" /> Moy S
      <input type="checkbox" name="tout" onClick="selectAll()"/> Tout cocher
      <input type="checkbox" name="12"/>
      <input type="checkbox" name="13"/>
      <input type="checkbox" .name="18"/>
      <input type="checkbox" name="22"/>
      <input type="checkbox" name="24"/>
      </form> 



      As tu fais attention au guillemets simples et doubles ?
      0