js + checkbox + php

js + checkbox + php - HTML/CSS - Programmation

Marsh Posté le 20-06-2005 à 21:29:19    

Comment ce code pourrais t'il marchais pour pouvoir recupéré tout les valeurs et coché si l'une d'elle est coché?  
par des getelementbyID ? mais comment ?
en gros le but et d'envoyé un formulaire et de recevoir les 3 valeurs cochées, mais aussi d'ajouté la fonction si la premiere est coché coché les 3 autres...
comment faire?
merci :)
 

Code :
  1. <html><head>
  2. <title>checkbox maître</title>
  3. <script>
  4. //checkbox ou une liste de checkbox.
  5. function selectall(cas,choix){
  6.   //test si on a plusieur ligne
  7.   if(choix.length>0){
  8.     if (cas.checked){
  9.       for (var i=0; i<choix.length;i++){
  10.         choix[i].checked=true
  11.       }
  12.     }
  13.     else{
  14.       for (var i=0; i<choix.length;i++){
  15.         choix[i].checked=false
  16.       }
  17.     }
  18.   }
  19.   else{
  20.     if (cas.checked){
  21.       choix.checked=true
  22.     }
  23.     else{
  24.       choix.checked=false
  25.     }
  26.   }
  27. }</script>
  28. </head>
  29. <body>
  30. <form name="monform" method="POST" action="a.php">
  31. <input type="checkbox" name="all" onclick="selectall(document.monform.all,document.monform.choix)">
  32. puis un liste de checkbox
  33. <input type="checkbox" name="choix[]"  value="1" >
  34. <input type="checkbox" name="choix[]"  value="2">
  35. <input type="checkbox" name="choix[]" value="3"  >
  36. <input type="submit" value="envoyer"></form>
  37. <?php
  38. for($i=0;$i<count($_POST['choix']);$i++)
  39. {
  40. echo $_POST['choix'][$i];
  41. echo "</br>";
  42. }
  43. ?>
  44. </body></html>

Reply

Marsh Posté le 20-06-2005 à 21:29:19   

Reply

Marsh Posté le 20-06-2005 à 23:03:08    

ho la belle merde
meme mega merde
 
tous les checkbox portent le meme name et des value differents
et lors du traitement ton tu auras une valeur comme ceci :  
macheckbox = 1,2,3
il suffit de faire un split ou un explode en PHP me rappelle plus la bonne fonction.  
 
et si tu veux être sur ke si la 1 est cochée avec les trois autres
rien ne t'empeche avant de faire un explode de la variable de faire un truc comme ca :  
 
 
if $_POST["Macheckbox"]=="1" {
  $manouvellevariable = 1,2,3
}
et comme ca tu auras tout
 
bon je suis pas mega clair mais c'est comme ca ke je ferai
 
jvais me couché, j'ai dormi ke 10h en 3 jours

Reply

Marsh Posté le 20-06-2005 à 23:17:09    

super bidouille quand tu nous tien! c'est pour integré dans un code bien plus complex alors la bidouille com sa non merci...
avec un nb de chackbox indefini et une succession ...

Reply

Marsh Posté le 21-06-2005 à 00:26:02    

bah je desactive ton JS de mes couilles et je poste le formulaire. ho ben tiens ca marche plus.
 
C'est n'est pas de la bidouille. Je t'ai fais ca à l'arrache car j'avais pas le temps. ET ben comme Monsieur n'est pas content je vais lui montrer le comment de ce que cela devrai être.
 
tu veux quelques chose de propre et bien le voici :  
 
code HTML

Code :
  1. <form name="monform" method="POST" action="<?echo $PHP_SELF?>">
  2. <input type="checkbox" name="all" id="SelAll" onclick="SelAll(this)"><label for="SelAll">Tout Sélectionner</label>
  3. <input type="checkbox" name="choix" id="Choix1" value="1"><label for="Choix1">Choix1</label>
  4. <input type="checkbox" name="choix" id="Choix2" value="2"><label for="Choix2">Choix2</label>
  5. <input type="checkbox" name="choix" id="Choix3" value="3"><label for="Choix3">Choix3</label>
  6. <input type="submit" value="envoyer"></form>


on ne nomme pas les éléments avec des putains de crochets de merde dans le name
 
Le script JS (peut ne pas être totalement correct j'ai po trop le temps de verifier je suis pas sur mon PC

Code :
  1. <script>
  2. function SelAll(Cb){
  3.   var i = 1
  4.  
  5.   while(document.getElementById('Choix' + i)){
  6.     document.getElementById('Choix' + i).checked = cb.checked; //Je ne sais plus si c'est exactement la syntaxe, mais normalement quand tu coches ou décoche, l'état de la premiere est reporté sur toutes les autres
  7.   }
  8. }
  9. </script>


 
 
Code PHP pour le traitement
 

Code :
  1. $Tableau = explode($_POST['choix']);
  2. foreach($Tableau as $MaVal)
  3. {
  4.     echo $MaVal."<br>";
  5. }


 
C'était quoi ton </br> de tapette qui n'existe pas.
 
Tiens apprends et prends en de la graine


Message édité par gatsusat le 21-06-2005 à 00:40:01
Reply

Marsh Posté le 21-06-2005 à 00:37:39    

PS : Est-ce que tu veux que si Choix1 est sélectionné ca coche toutes les autres ????

Reply

Marsh Posté le 21-06-2005 à 00:41:33    

Bluntch a écrit :

super bidouille quand tu nous tien! c'est pour integré dans un code bien plus complex alors la bidouille com sa non merci...
avec un nb de chackbox indefini et une succession ...


 
 [:petrus75]  
 
Rien qu'à voir la gueule de ton code j'aurai même pas envie que tu continues à faire un code plus complexe. retourne apprendre à coder

Reply

Marsh Posté le 21-06-2005 à 08:10:41    

deja d'une ct un exemple de code... de 2 ton code marche pas ...

Reply

Marsh Posté le 21-06-2005 à 08:12:03    

et t'apprendra qu'il faut fermé les balise <br/> en xhtml...

Reply

Marsh Posté le 21-06-2005 à 08:13:29    

Et toi tu apprendras que l'on peut éditer en cliquant sur cette icone :  
 
http://forum-images.hardware.fr/themes_static/images_forum/1/edit.gif
 
Edit : et en éditant, je peux te dire que </br>,<br/>, ca n'existe pas, c'est <br  />, avec une espace entre le r et le slash. Oui on dit une espace dans ce cas, demande à the shadow :p


Message édité par plainsofpain le 21-06-2005 à 08:15:13

---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 21-06-2005 à 09:15:25    

plainsofpain a écrit :

<br/>, ca n'existe pas, c'est <br  />, avec une espace entre le r et le slash.


Non [:kiki]
 
<br/> est une balise XML/XHTML parfaitement correcte, <br /> est utilisé pour des raisons de compatibilité avec les navigateurs ne gérant pas le XML [:spamafote]

Bluntch a écrit :

et t'apprendra qu'il faut fermé les balise <br/> en xhtml...


T'es pas en XHTML [:kiki]


Message édité par masklinn le 21-06-2005 à 09:16:37

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-06-2005 à 09:15:25   

Reply

Marsh Posté le 21-06-2005 à 09:31:43    

Voila ton code HTML corrigé comme tu le voulais.  

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title></title>
  5. <script type="text/javascript">
  6. function cocheTout(){
  7.   var i = 1;
  8.   while(document.getElementById('Choix' + i)){
  9.     document.getElementById('Choix' + i).checked = document.getElementById('SelAll').checked;
  10.  i++;
  11.   }
  12. }
  13.     </script>
  14. </head>
  15. <body>
  16. <form name="monform" method="POST" action="">
  17. <input type="checkbox" name="SelAll" id="SelAll" Onclick="javascript:cocheTout();">
  18. <label for="SelAll">Tout Sélectionner</label>
  19. <br>
  20. <input type="checkbox" name="choix" id="Choix1" value="1"><label for="Choix1">Choix1</label><br>
  21. <input type="checkbox" name="choix" id="Choix2" value="2"><label for="Choix2">Choix2</label><br>
  22. <input type="checkbox" name="choix" id="Choix3" value="3"><label for="Choix3">Choix3</label><br>
  23. <input type="submit" value="envoyer"></form>
  24. </body>
  25. </html>


Pour le PHP c'est comme je t'ai dit normalement.
tu récupères toutes tes données dans la variable "choix"
et si toutes les cases choix sont cochées tu auras $_POST["choix"] = "1,2,3" <== après libre à toi de les foutre dans un tableau avec explode. Faut que jte donne des cours de programmation ?
 
$

Reply

Marsh Posté le 21-06-2005 à 09:39:39    

en XHTML c'est mieux

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.   <head>
  4.     <title>
  5.     </title>
  6.     <script type="text/javascript">
  7.     //<![CDATA[
  8. function cocheTout(){ 
  9.   var i = 1;
  10.   while(document.getElementById('Choix' + i)){ 
  11.     document.getElementById('Choix' + i).checked = document.getElementById('SelAll').checked;
  12.      i++;
  13.   } 
  14. }
  15.     //]]>
  16.     </script>
  17.   </head>
  18.   <body>
  19.     <form name="monform" method="POST" action="">
  20.       <input type="checkbox" name="SelAll" id="SelAll"
  21.       onclick="javascript:cocheTout();" /> <label for="SelAll">Tout
  22.       S&eacute;lectionner</label><br />
  23.        <input type="checkbox" name="choix" id="Choix1" value="1" /><label
  24.       for="Choix1">Choix1</label><br />
  25.        <input type="checkbox" name="choix" id="Choix2" value="2" /><label
  26.       for="Choix2">Choix2</label><br />
  27.        <input type="checkbox" name="choix" id="Choix3" value="3" /><label
  28.       for="Choix3">Choix3</label><br />
  29.        <input type="submit" name="Action" value="envoyer" />
  30.     </form>
  31.   </body>
  32. </html>


Message édité par gatsusat le 21-06-2005 à 09:40:03
Reply

Marsh Posté le 21-06-2005 à 11:50:05    

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.   <head>
  4.     <title>
  5.     </title>
  6.     <script type="text/javascript">
  7.     //<![CDATA[  
  8. function cocheTout(){ 
  9.   var i = 1; 
  10.   while(document.getElementById('Choix' + i)){ 
  11.     document.getElementById('Choix' + i).checked = document.getElementById('SelAll').checked; 
  12.      i++; 
  13.   } 
  14.     //]]>  
  15.     </script>
  16.   </head>
  17.   <body>
  18.     <form name="monform" method="POST" action="<?php echo $PHP_SELF ?>">
  19.       <input type="checkbox" name="SelAll" id="SelAll"
  20.       onclick="javascript:cocheTout();" /> <label for="SelAll">Tout
  21.       S&eacute;lectionner</label><br />
  22.        <input type="checkbox" name="choix[]" id="Choix1" value="1" /><label
  23.       for="Choix1">Choix1</label><br />
  24.        <input type="checkbox" name="choix[]" id="Choix2" value="2" /><label
  25.       for="Choix2">Choix2</label><br />
  26.        <input type="checkbox" name="choix[]" id="Choix3" value="3" /><label
  27.       for="Choix3">Choix3</label><br />
  28.        <input type="submit" name="Action" value="envoyer" />
  29.     </form>
  30. <?php
  31. print_r($_POST['choix']);
  32. ?>
  33.   </body>
  34. </html>


 
voici quelques chose qui marche !  
 
enfin bon merci bien meme si la politesse est passé a la trappe lol

Reply

Marsh Posté le 21-06-2005 à 11:54:42    

une filette de 13 ans saurait pondre un code pareil...

Reply

Marsh Posté le 21-06-2005 à 12:41:07    

La politesse est le lubrifiant qui permet de se frotter aux autres sans leur irriter l'esprit.

Reply

Marsh Posté le 21-06-2005 à 12:42:06    

Bluntch a écrit :

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  2.   </body>
  3. </html>


 
voici quelques chose qui marche !  
 
enfin bon merci bien meme si la politesse est passé a la trappe lol


C'est marrant les gens qui font les kékés genre "moi je met mes scripts en CDATA" et qui ne réussissent même pas à poster du XHTML valide [:cupra]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-06-2005 à 12:49:29    

ben heu, en fait je l'avais fait en HTML 4.01 et pour faire plaisir à monsieur je l'ai passé en XHTML sous tidy, et trop la flème de corriger les erreurs apres.
 
Et heu.... elle est ou l'erreur que j'ai faite masklinn ??

Reply

Marsh Posté le 21-06-2005 à 13:00:20    

gatsusat a écrit :

ben heu, en fait je l'avais fait en HTML 4.01 et pour faire plaisir à monsieur je l'ai passé en XHTML sous tidy, et trop la flème de corriger les erreurs apres.
 
Et heu.... elle est ou l'erreur que j'ai faite masklinn ??


 :sweat:  
 
J'ai quoté qui là? :o
 
Boulet :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-06-2005 à 13:33:47    

au debut je pensais que tu parlais de moi, meme si tu avais quoté l'autre zouave.
Car il n'a pas mis de CDATA et autres conneries juste un </BR> qui n'a pas lieu d'exister d'ailleurs.
 
clair que je vois pas ou il est son XHTML là. lol

Reply

Marsh Posté le 21-06-2005 à 14:19:50    

gatsusat a écrit :

au debut je pensais que tu parlais de moi, meme si tu avais quoté l'autre zouave.
Car il n'a pas mis de CDATA et autres conneries juste un </BR> qui n'a pas lieu d'exister d'ailleurs.
 
clair que je vois pas ou il est son XHTML là. lol


If you can't even read the fucking post, please stfu :o


Message édité par masklinn le 21-06-2005 à 14:20:25

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed