Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2977 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  coher une partie de chexkbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

coher une partie de chexkbox

n°2017872
atout1
Etudiant
Posté le 19-08-2010 à 12:04:07  profilanswer
 

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";  
 }
}

mood
Publicité
Posté le 19-08-2010 à 12:04:07  profilanswer
 

n°2017884
AzOo
Posté le 19-08-2010 à 13:00:57  profilanswer
 

Salut,
Essaye ça ;)

Code :
  1. function selectAll() {
  2.  for(i=0;i<document.form1.length;i++) {
  3.   if(document.form1.elements[i].type == "checkbox" ) {
  4.    if(document.form1.elements[i].name == "a1" || document.form1.elements[i].name == "a2" ) {
  5.     document.form1.elements[i].checked = false;
  6.    } else {
  7.     document.form1.elements[i].checked = true;
  8.    }
  9.   }
  10.  }
  11. }

Message cité 1 fois
Message édité par AzOo le 19-08-2010 à 13:02:11

---------------
*** [Feed-Back] AzOo ***
n°2017888
atout1
Etudiant
Posté le 19-08-2010 à 13:29:15  profilanswer
 

AzOo a écrit :

Salut,
Essaye ça ;)

Code :
  1. function selectAll() {
  2.  for(i=0;i<document.form1.length;i++) {
  3.   if(document.form1.elements[i].type == "checkbox" ) {
  4.    if(document.form1.elements[i].name == "a1" || document.form1.elements[i].name == "a2" ) {
  5.     document.form1.elements[i].checked = false;
  6.    } else {
  7.     document.form1.elements[i].checked = true;
  8.    }
  9.   }
  10.  }
  11. }



 
Merci,  
 
et mnt dans le code PHP je mets ca non : <input type='checkbox' onClick='selectAll()'/> tout cocher ???


Message édité par atout1 le 19-08-2010 à 13:35:28
n°2017890
AzOo
Posté le 19-08-2010 à 13:42:29  profilanswer
 

essaye de toi même et voit ce que ça donne :p
 


---------------
*** [Feed-Back] AzOo ***
n°2017893
atout1
Etudiant
Posté le 19-08-2010 à 13:43:48  profilanswer
 

AzOo a écrit :

essaye de toi même et voit ce que ça donne :p
 


 
j'ai essayé mais il coche rien du tout :D

n°2017905
AzOo
Posté le 19-08-2010 à 14:07:05  profilanswer
 

bizarre chez moi ca marche :p
 
essayes ça :

Code :
  1. <script>
  2. function selectAll() {
  3.  for(i=0;i<document.form1.length;i++) {
  4.   if(document.form1.elements[i].type == "checkbox" ) {
  5.    if(document.form1.elements[i].name == "a1" || document.form1.elements[i].name == "a2" ) {
  6.     document.form1.elements[i].checked = false;
  7.    } else {
  8.     document.form1.elements[i].checked = true;
  9.    }
  10.   }
  11.  }
  12. }
  13. </script>
  14. <form name="form1">
  15. <input type='checkbox' name='a1'/>
  16. <input type='checkbox' name='a2'/><br><br>
  17. <input type='checkbox'  name='toto' onClick='selectAll()'/>toto<br><br>
  18. <input type='checkbox'  name='12'/>
  19. <input type='checkbox'  name='13'/>
  20. <input type='checkbox' .name='18'/>
  21. <input type='checkbox'  name='22'/>
  22. <input type='checkbox'  name='24'/>
  23. </form>
  24. <a style="cursor: pointer;" onclick='selectAll();'>Select All<a/>

Message cité 1 fois
Message édité par AzOo le 19-08-2010 à 14:16:53

---------------
*** [Feed-Back] AzOo ***
n°2017913
atout1
Etudiant
Posté le 19-08-2010 à 14:36:18  profilanswer
 

AzOo a écrit :

bizarre chez moi ca marche :p
 
essayes ça :

Code :
  1. <script>
  2. function selectAll() {
  3.  for(i=0;i<document.form1.length;i++) {
  4.   if(document.form1.elements[i].type == "checkbox" ) {
  5.    if(document.form1.elements[i].name == "a1" || document.form1.elements[i].name == "a2" ) {
  6.     document.form1.elements[i].checked = false;
  7.    } else {
  8.     document.form1.elements[i].checked = true;
  9.    }
  10.   }
  11.  }
  12. }
  13. </script>
  14. <form name="form1">
  15. <input type='checkbox' name='a1'/>
  16. <input type='checkbox' name='a2'/><br><br>
  17. <input type='checkbox'  name='toto' onClick='selectAll()'/>toto<br><br>
  18. <input type='checkbox'  name='12'/>
  19. <input type='checkbox'  name='13'/>
  20. <input type='checkbox' .name='18'/>
  21. <input type='checkbox'  name='22'/>
  22. <input type='checkbox'  name='24'/>
  23. </form>
  24. <a style="cursor: pointer;" onclick='selectAll();'>Select All<a/>



 
ca ne marche toujours pas :S je ne comprends pas la raison ...  
 
pourkoi tas mis la balise <a></a> à la fin ??
 
voici mon code :  

Code :
  1. <script type=\"text/javascript\">
  2. <!-- debut
  3. function selectAll()
  4. {
  5.  for(i=0;i<document.listeObjetForm.length;i++)
  6. {
  7.  if(document.listeObjetForm.elements[i].type == "checkbox" )
  8.  {
  9.   if(document.listeObjetForm.elements[i].name == "MoyT" || document.listeObjetForm.elements[i].name == "MoyS" )
  10.   {
  11.    document.listeObjetForm.elements[i].checked = false;
  12.   }
  13.      else
  14.   {
  15.   document.listeObjetForm.elements[i].checked = true;
  16.      }
  17.  }
  18.  }
  19. }
  20. // fin -->
  21. </script> 
  22. <?php
  23. echo "
  24. <form class='centrer' name='listeObjetForm'>
  25. <input name='MoyT' type='checkbox' value='MoyT' /> Moy T
  26. <input name='MoyS' type='checkbox' value='MoyS' /> Moy S
  27. <input type='checkbox' name='tout' onClick='selectAll()'/> Tout cocher
  28. <input type='checkbox'  name='12'/>
  29. <input type='checkbox'  name='13'/>
  30. <input type='checkbox' .name='18'/>
  31. <input type='checkbox'  name='22'/>
  32. <input type='checkbox'  name='24'/>
  33. </form> ";
  34. ?>

n°2017917
AzOo
Posté le 19-08-2010 à 14:47:00  profilanswer
 

essayes avec : <script language="javascript">
...


---------------
*** [Feed-Back] AzOo ***
n°2017936
atout1
Etudiant
Posté le 19-08-2010 à 15:13:33  profilanswer
 

AzOo a écrit :

essayes avec : <script language="javascript">
...


 
ca marche toujours pas :S

n°2017938
AzOo
Posté le 19-08-2010 à 15:17:40  profilanswer
 

créer un nouveau document html, puis copie/colle ça :
<script language="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>  
 
 
<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>
 et dis moi si ça marche ...
 
tu es sur quel navigateur ?!
j'ai tester sur FF 3.6.8 / IE>6 & chrome ca passe nickel ...


---------------
*** [Feed-Back] AzOo ***
mood
Publicité
Posté le 19-08-2010 à 15:17:40  profilanswer
 

n°2017942
atout1
Etudiant
Posté le 19-08-2010 à 15:23:58  profilanswer
 

AzOo a écrit :

créer un nouveau document html, puis copie/colle ça :
<script language="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>  
 
 
<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>
 et dis moi si ça marche ...
 
tu es sur quel navigateur ?!
j'ai tester sur FF 3.6.8 / IE>6 & chrome ca passe nickel ...


 
 
ca marche depuis le html :D je suis sur mozilla firefox ....  
 
mais prkoi ca ne marche pas depuis php ? :S
 

n°2017946
AzOo
Posté le 19-08-2010 à 15:37:37  profilanswer
 

... En remplaçant <script type=\"text/javascript\"> par <scipt language="javascript"> dans le code que tu as mis ca marche parfaitememnt ...
Je te le remt en entier aui cas ou :
 
<script language="javascript">
<!-- debut
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;
      }
  }
  }
}
// fin -->
</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> ";
?>


---------------
*** [Feed-Back] AzOo ***
n°2017947
hinomura
Posté le 19-08-2010 à 15:42:09  profilanswer
 

Ton script tu l'écris en PHP ?!
Tu fais  

Code :
  1. $variable ="<script type ..."


etc ?
 
Le meilleur moyen reste de faire un fichier scripts.js qui contient toutes tes fonctions javascript, ensuite de l'appeler dans le <head> de ta page :

Code :
  1. <script type="text/javascript" src="<?=ROOT_URL;?>js/fonctions.js"></script>


( à adapter à ta page bien sur )
 
Ensuite tu fais ton bouton et les fonctions comme décrites sur cette page, et ça devrait aller.

n°2017954
hinomura
Posté le 19-08-2010 à 16:00:35  profilanswer
 

Code :
  1. function cocher_tout(nb,coch){
  2. var nbconcerne = nb;      // On récupères le nombre de cases à cocher/décocher
  3. var cocher = coch.value; // On récupères l'état actuel du dernier traitement rendu par la case "tout cocher"
  4. var checkbox = "";
  5.         if (cocher=='decoches'){ // Si le dernier traitement était de tout décocher, alors le prochain sera de tout cocher
  6.                 var est_coche = true;
  7.                 coch.value="coches"; // On enregistre le nouvel état du dernier traitement dans le formulaire
  8.         }else{
  9.                 var est_coche = false;
  10.                 coch.value="decoches";
  11.         }
  12. for (i=1;i<nbconcerne;i++){ // pour i de 1 à ton nombre total de case à cocher
  13.  checkbox="nom_de_ta_checkbox_"+i; // Tu construis le nom de la checkbox à cocher
  14.  document.getElementById(checkbox).checked = est_coche;
  15.  document.getElementById(checkbox).checked = est_coche;
  16. }
  17. }


 
Dans mon formulaire, j'ai un bouton pour cocher :
 

Code :
  1. <input type=button value=\"Cocher tout\" onClick=\"cocher_tout(document.getElementById('nbconcerne').value,document.getElementById('etat_cases'));\">


 
Mes checkbox ( crées par un while, le numéro à la fin du nom s'incrémente jusqu'à la fin du traitement )

Code :
  1. <input type="CHECKBOX" id="nom_de_ta_checkbox_1" value="ta_valeur_1">
  2. <input type="CHECKBOX" id="nom_de_ta_checkbox_2" value="ta_valeur_2">
  3. <input type="CHECKBOX" id="nom_de_ta_checkbox_3" value="ta_valeur_3">


 
Mon champ caché qui me dis le nombre de checkbox

Code :
  1. <input type="hidden" id="nbconcerne" value="<?=$nbconcerne;?>">


 
Et un champ qui me dis si les cases sont cochées ou pas

Code :
  1. <input type="hidden" id="etat_cases" value="decoches">


 
C'est pas super pro, mais si ça peut t'aider

n°2017956
atout1
Etudiant
Posté le 19-08-2010 à 16:08:22  profilanswer
 

hinomura a écrit :

Code :
  1. function cocher_tout(nb,coch){
  2. var nbconcerne = nb;      // On récupères le nombre de cases à cocher/décocher
  3. var cocher = coch.value; // On récupères l'état actuel du dernier traitement rendu par la case "tout cocher"
  4. var checkbox = "";
  5.         if (cocher=='decoches'){ // Si le dernier traitement était de tout décocher, alors le prochain sera de tout cocher
  6.                 var est_coche = true;
  7.                 coch.value="coches"; // On enregistre le nouvel état du dernier traitement dans le formulaire
  8.         }else{
  9.                 var est_coche = false;
  10.                 coch.value="decoches";
  11.         }
  12. for (i=1;i<nbconcerne;i++){ // pour i de 1 à ton nombre total de case à cocher
  13.  checkbox="nom_de_ta_checkbox_"+i; // Tu construis le nom de la checkbox à cocher
  14.  document.getElementById(checkbox).checked = est_coche;
  15.  document.getElementById(checkbox).checked = est_coche;
  16. }
  17. }


 
Dans mon formulaire, j'ai un bouton pour cocher :
 

Code :
  1. <input type=button value=\"Cocher tout\" onClick=\"cocher_tout(document.getElementById('nbconcerne').value,document.getElementById('etat_cases'));\">


 
Mes checkbox ( crées par un while, le numéro à la fin du nom s'incrémente jusqu'à la fin du traitement )

Code :
  1. <input type="CHECKBOX" id="nom_de_ta_checkbox_1" value="ta_valeur_1">
  2. <input type="CHECKBOX" id="nom_de_ta_checkbox_2" value="ta_valeur_2">
  3. <input type="CHECKBOX" id="nom_de_ta_checkbox_3" value="ta_valeur_3">


 
Mon champ caché qui me dis le nombre de checkbox

Code :
  1. <input type="hidden" id="nbconcerne" value="<?=$nbconcerne;?>">


 
Et un champ qui me dis si les cases sont cochées ou pas

Code :
  1. <input type="hidden" id="etat_cases" value="decoches">


 
C'est pas super pro, mais si ça peut t'aider


 
merci pour l'aide ...  
ca marche tjs pas ...  
 
par contre la fonction suivant ca marche bien mais il coche et décoche tous les input de la page et moi je veux que pour un form spécifique  
et quand j'ajout le getElementById('nomForm') la fonction marche plus  ????!!!!!!!!!!!!!
 
fonctions.js:
var checkflag = "false";
function selectAll()
{
 var inputs = document.getElementsByTagName('input') ;
 if (checkflag == "false" )  
 {
  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;
   }
  }
   checkflag = "true";
 }else
 {
  for(i=0;i<inputs.length;i++)
  {
   inputs[i].checked = false;
  }
  checkflag = "false";
 }
 
}
 
.php :
<input type='checkbox' name='tout' onClick='selectAll()'/> Tout cocher

n°2017960
hinomura
Posté le 19-08-2010 à 16:20:40  profilanswer
 

Tu as une variable qui est hors d'une fonction, puis dedans.
Tu en fais quoi de ton checkflag ?
 
Lis bien ce qui t'a été dis, tu trouveras une solution qui marche là dedans.

n°2018111
atout1
Etudiant
Posté le 20-08-2010 à 11:12:52  profilanswer
 

hinomura a écrit :

Tu as une variable qui est hors d'une fonction, puis dedans.
Tu en fais quoi de ton checkflag ?
 
Lis bien ce qui t'a été dis, tu trouveras une solution qui marche là dedans.


 
Bonjour,  ca va ?
 
en faite la var checkflag, je l'utilise pour cocher et décocher les checkbox et non seulement cocher

n°2018124
hinomura
Posté le 20-08-2010 à 12:34:57  profilanswer
 

atout1 a écrit :

 

Bonjour,  ca va ?

 

en faite la var checkflag, je l'utilise pour cocher et décocher les checkbox et non seulement cocher


Et donc ? ça ne marche pas ?

 


Code :
  1. function cocher_decocher(nb_de_cases,etat_cases)
  2. {
  3.          var nbconcerne = nb_de_cases.value;     
  4.          var checkbox    = '';
  5.          var est_coche  = '';
  6.          if (etat_cases.value == 'decoch')
  7.          { 
  8.                   est_coche = true;
  9.                   etat_cases.value="coch";
  10.          }
  11.          else
  12.          {
  13.                   est_coche = false;
  14.                   etat_cases.value="decoch";
  15.          }
  16. }
 

Ecrit cette fonction la dans ton script

 

Dans ton code html écrit ceci :

 
Code :
  1. <form name="peu_importe" id="peu_importe" method="POST" action="peu_importe">
  2. <input type="button" value="COCHER et DECOCHER"
  3. onClick="cocher_decocher(document.getElementById('nb_de_cases'),document.getElementById('dernier_traitement'));">
  4. <br />
  5. DERNIER TRAITEMENT: <input type="text" name="dernier_traitement" id="dernier_traitement" value="decoch" disabled="true">
  6. <input type="hidden" name="nb_de_cases" id="nb_de_cases" value="10">
  7. </form>
 

Teste le bouton, il doit te modifier la valeur du champ "DERNIER TRAITEMENT"

 

Si ça ça marche, tu rajoutes une boucle comme on te l'a montré au dessus, et tu fais ce que tu veux ensuite.

 

Pour info, ce script marche sur une page de test bidon que j'ai fais, il modifie l'état en coch / decoch
Suivant cet état, tu fais un for qui coche / décoche tout sauf ce que tu veux  en te servant de

Code :
  1. nomcheckbox.checked = est_coche

;)

Message cité 1 fois
Message édité par hinomura le 20-08-2010 à 12:38:06
n°2018330
atout1
Etudiant
Posté le 22-08-2010 à 16:12:11  profilanswer
 

hinomura a écrit :


Et donc ? ça ne marche pas ?
 
 

Code :
  1. function cocher_decocher(nb_de_cases,etat_cases)
  2. {
  3.          var nbconcerne = nb_de_cases.value;     
  4.          var checkbox    = '';
  5.          var est_coche  = '';
  6.          if (etat_cases.value == 'decoch')
  7.          { 
  8.                   est_coche = true;
  9.                   etat_cases.value="coch";
  10.          }
  11.          else
  12.          {
  13.                   est_coche = false;
  14.                   etat_cases.value="decoch";
  15.          }
  16. }


 
Ecrit cette fonction la dans ton script
 
Dans ton code html écrit ceci :
 

Code :
  1. <form name="peu_importe" id="peu_importe" method="POST" action="peu_importe">
  2. <input type="button" value="COCHER et DECOCHER"
  3. onClick="cocher_decocher(document.getElementById('nb_de_cases'),document.getElementById('dernier_traitement'));">
  4. <br />
  5. DERNIER TRAITEMENT: <input type="text" name="dernier_traitement" id="dernier_traitement" value="decoch" disabled="true">
  6. <input type="hidden" name="nb_de_cases" id="nb_de_cases" value="10">
  7. </form>


 
Teste le bouton, il doit te modifier la valeur du champ "DERNIER TRAITEMENT"
 
Si ça ça marche, tu rajoutes une boucle comme on te l'a montré au dessus, et tu fais ce que tu veux ensuite.
 
Pour info, ce script marche sur une page de test bidon que j'ai fais, il modifie l'état en coch / decoch
Suivant cet état, tu fais un for qui coche / décoche tout sauf ce que tu veux  en te servant de

Code :
  1. nomcheckbox.checked = est_coche

;)


 
Bonjour,  
 
pb resolu .. merci pour ton aide  
 
en faite le variable chekflag ne cause pas de pb .. le pb c'etait au niveau html :D
 
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  coher une partie de chexkbox

 

Sujets relatifs
Bonton pour liker une partie d'une pageMacro Copier une partie d'une cellule
Submit : faire apparaitre une partie de ma page sur une nouvelle page[PHP] Cookies : une partie disparait inexplicablement -> Plante Apache
remplacer ou masquer une partie ciblé d une image avec jQueryAccès par mot de passe et accéder juste à une partie des données ?
Requete pour remplacer une partie de chaine via MyadminUtiliser php pour ne faire varier qu'une partie de mes pages ?
Supprimer une partie d'un textegénérateur de Formulaire PHP ; partie intrigante, demande infos
Plus de sujets relatifs à : coher une partie de chexkbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR