Les checkbox en php et JS - PHP - Programmation
Marsh Posté le 01-07-2008 à 00:15:54
Salut,
eh bien je propose une autre solution plus récente :
Code :
|
Puis le JS qui va bien :
Code :
|
Marsh Posté le 01-07-2008 à 06:19:55
Bonjour,
Un exemple :
Code :
|
Marsh Posté le 01-07-2008 à 12:12:10
Ah oui! je vais tester ces solutions. J'ai déjà utilisé getElemebtById() mais je n'y avais pas pensé pour contourner ce problème. Merci
Marsh Posté le 01-07-2008 à 12:33:04
bonjour,
"ou alors"
<form name="form1" ...>
1. <input type="checkbox" id="box1" name="check[]" value="v1">
2. <input type="checkbox" id="box2" name="check[]" value="v2">
3. <input type="checkbox" id="box3" name="check[]" value="v3">
...
</form>
1. for(i=0;i<document.form1["check[]"].length;i++)
2. if(document.form1["check[]"][i].checked) {.....}
@+
Marsh Posté le 01-07-2008 à 21:06:57
Merci à bul3 aussi. Ta version est en fait la même que NewsletTux mais qui marche. En effet, c'est le document.form1.check.length de la boucle qui plante alors que document.form1["check[]"].length fonctionne.
Marsh Posté le 01-07-2008 à 21:24:29
oui, c'est le seul truc de ma proposition que j'ai laissé tel quel ... En fait, document.forms c'est l'ancienne écriture, il aurait presque mieux valu tester, via l'ID, chaque item du form et si c'est une checkbox, alors rentrer dans la condition ...
Marsh Posté le 02-07-2008 à 19:07:24
oui en fait tout ceci fonctionne bien maintenant exepté s'il n'y a qu'une seule checkbox !
Que ce soit document.form_del["check[]"].length de bul3 ou document.form_del.elements['check[]'] de Jeca ils retournent undefined s'il y a 1 checkbox.
Pour contourner ce petit problème je fais comme ceci:
Code :
|
Marsh Posté le 03-07-2008 à 09:55:54
oui.
on ne peut pas utiliser d'indice si ce n'est pas un tableau
soit tester si .length existe
d'ailleurs if (document.form1["check[]"].length) suffit
soit créer un 1er poste bidon ( et caché ) et faire la boucle à partir
de l'indice 1 au lieu de 0 ( et ce serait plus mieux à mon humble avis )
remarque : j'utilisais
1. for( i=0; i < document.form1["check[]"].length; i++ )
2. if( document.form1["check[]"][i].checked ) {.....}
Cordialement.
Marsh Posté le 03-07-2008 à 21:29:57
Excellente solution que de d'utiliser une checkbox invisible, cela evite le test. Merci à vous tous pour toutes ces idées !
Marsh Posté le 30-06-2008 à 23:23:18
Bonjour,
J'ai un problème avec les checkbox lorsque je veux les utiliser à la fois avec php et javascript.
Dans le formulaire si j'écris :
Je peux récupérer en php les cases cochées par un truc du genre :
Par contre ça ne fonctionne plus lorsque je veux accéder en Javascript:
Le problème vient des [] dans le formulaire. Si je les enlève, Javascript fonctionnera mais plus php... Comment faire alors?