Cocher une partie de checbox en PHP

Bonjour, tt le monde

voici mon formulaire, mon pb que je veux que mon checkbox (tout cocher) me permet de cocher tout les autres checkbox sauf les deux premiers a1 et a2

je ne réussi pas merci d'avance pour votre aide
<form name='form1'...>
<input type='checkbox' name='a1' .... />
<input type='checkbox' name='a2' .... />

<input type='checkbox' onClick='this.value=check(this.form);'/> 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>

javascript :
var checkflag = "false";
function check(field)
{
if (checkflag == "false" )
{
for (i = 0; i < field.length; i++)
{
field[i].checked = true;
}
checkflag = "true";
return "Tout décocher";
}
else
{
for (i = 0; i < field.length; i++)
{
field[i].checked = false;
}
checkflag = "false";
return "Tout cocher";
}
}

3 réponses

  1. une variante pour decocher qd la case tout cocher est decochée

    <script type="text/javascript">
    <!--
    function check(form1){
    		var form=form1;
    		//lecture de la case tout cocher
    		var case_TC= document.getElementById('tout_cocher');
    		
    	for (i=0 ; i<= form.length-1 ; i++){
    		//on parcours tous les elements du formulaire
    		if (form[i].type == 'checkbox' ) {
    			//on teste si c'est une checkbox
    			//puis on verifie le name
    			if(form[i].name != 'a1' && form[i].name != 'a2') { //exclusion des 2 premiers				
    					if(case_TC.checked == true){
    					form[i].checked = true; 
    				}else{
    					form[i].checked = false;				
    				}				
    			}
    		}
    	}
    }
    
    </script>
    
    <form name='form1'...>
    <input type='checkbox' name='a1' .... />
    <input type='checkbox' name='a2' .... />
    
    <input type='checkbox' name="tout_cocher" id="toutcocher" onClick='check(this.form);'/> 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> 
    0
    1. essayes comme ça:

      <script type="text/javascript"> 
      <!-- 
      function check(form1){ 
        var form=form1; 
       for (i=0 ; i<= form.length-1 ; i++){ 
        //on parcours tous les elements du formulaire 
        if (form[i].type == 'checkbox' ) { 
         //on teste si c'est une checkbox 
         //puis on verifie le name 
         if(form[i].name != 'a1' && form[i].name != 'a2') { //exclusion des 2 premiers 
          form[i].checked = true;  
         } 
        } 
       } 
      } 
      
      </script> 
      
      <form name='form1'...> 
      <input type='checkbox' name='a1' .... /> 
      <input type='checkbox' name='a2' .... /> 
      
      <input type='checkbox' onClick='check(this.form);' /> 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> 
      0
      1. bonjour,

        si c'est les deux premiere chekbox que tu ne souhaite pas cocher, essaye de remplacer ton
        for (i = 0; i < field.length; i++)

        par for (i = 2; i < field.length; i++)
        0
        1. salut,

          merci mais ce na marche pas
          0