|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
Bonjour,
Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Et si tu leur mettais une valeur à tes checkbox et tu contrôlais cette valeur en php ?
|
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
même si j'affecte une valeur avec la propriété value, seules les cases cochées postent la valeur définie par value.
Il faudrait faire une détection javascript du genre : Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Seules les valeurs des checkboxes cochées sont postées donc tu n'as pas vraiment le choix.
Tu peux par contre bricoler deux choses : 1/ tu te fais un champ hidden qui contient toutes les valeurs de tes checkboxes séparées par un caractère/une suite de caractères spécial(e) donc coté serveur tu peux les récupérer 2/ Tu coches volontairement en javascript toutes les cases => tu es donc obligé de te rajouter un deuxieme champ caché (pour chaque checkboxe) qui va te dire quelles checkboxes étaient réellement cochées (LOURD et pas top) 3/ Pour chaque checkboxe, tu associes un champ "hidden" du style macheckbox1, macheckbox2, ... qui contient la valeur de la checkbox et du coup coté client tu peux les récupérer facilement avec un foreach |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
Merci pour ta réponse, je vais explorer les différentes solutions.
Mais je crois que j'en ai une 4e : - 2 fichiers gif => une case à a coché vide et une autre sélectionné - on attributs un input type="hidden" à chaque image - et on utilise du js pour changer l'image en fonction de la valeur affectée par hidden Je pensais pas rester bloquer sur un pauvre script pour rendre des checkbox dynamiques. Je mettrai le post en résolu avec une des soluces. |
|
|
00
|
|
|
#6 | |||||
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#7 | ||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
C'est l'inverse qu'on veut :
Code :
|
||
|
|
00
|
|
|
#8 | |||||
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
La solution avec les input hidden :
<form name="form1" method="post" action="test.php"> <input type="checkbox" name="checkbox1" onClick="document.form1.check1.value=1;form1.submit()"><input type="hidden" name="check1" value=""> </form> On ne se sert de la checkbox que pour l'affichage du résultat sql (0 décoché / 1 coché) et on utilise check1 qui lui sera posté quoi qu'il arrive. |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Pour information si tu ne coche pas le checkbox, le post est quand meme fait, il vide juste la valeur... puis post la data.
Si la case est coché, il transmet le contenu de la valeur. D'ou le test si checkbox1 différent de '1' alors la case n'est pas coché, vu que si elle etait coché, la valeur serait 1. |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
LoL on va débattre longtemps je crois à ce sujet
Alors, lorsque tu décoches la case le POST est effectué, mais pas l'INPUT de type checkbox, donc tu ne peux pas tester que la valeur de l'input soit égale à "off". Tu peux seulement le faire si elle est égale à "on". En revanche, comme le POST est effectué, rien ne nous empêche de mettre un INPUT de type hidden qui, lui, sera posté que l'on coche ou que l'on décoche la checkbox. |
|
|
00
|
|
|
#12 | |
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Citation:
bon je refais plus lentement, pourtant ce n'est pas difficile Tu as un checkbox value=1 name=ck1 Donc si on coche le checkbox, ck1 aura comme valeur le caractere "1". Si tu ne coche pas ck1, ck1 aura comme valeur "" (chaine vide) donc différent de "1". pas besoin de faire de hidden encore heureux. |
|
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
C'est pas possible... Je vais expliquer clairement ce que pitxu veut dire
Prenons un exemple: Code :
DONC, si ton formulaire est dynamique et que tu ne connais pas a l'avance les valeurs des checbkoxes tu ne peux plus savoir les choix qui n'ont pas été cochés ! Compris? |
||
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
Ben oui mais moi, je veux les récupérer lol.
un if(!isset($checkbox1)) $checkbox1=0; ne me suffit pas et puis, si on fait comme tu dis, à la première visite de la page, vu que rien n'est posté, toutes les checkbox apparaitraient décochés. Alors qu'elles doivent être coché en fonction du résultat sql. Je sais pas si tu me suis ... |
|
|
00
|
|
|
#15 | |
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Citation:
Bon j'y comprend rien au sujet de l'énnoncé |
|
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 88 ![]() |
Merci grand maître Koopajah
![]() ... enfin quelqu'un qui me comprend
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com