Selection de checkbox

Eléphanteau du PHP | 29 Messages

06 juin 2006, 15:39

Je dois ecrite un code pour pouvoir supprimer des messages dans une boite mail afin de tous les selectionner j'ai choisi de prendre des checkbox, mais le probleme c'est que ac ma fonction jsp lorque il n'y a que un seul message rien ne se selectionne quelqu'un peut t'il m'aider

Code : Tout sélectionner

<SCRIPT LANGUAGE="JavaScript"> var checkflag = "false"; function check(field) { if (checkflag == "false") { for (i = 0; i < field.length; i++) field[i].checked = true; checkflag = "true"; return "Decocher toutes les cases"; } else { for (i = 0; i < field.length; i++) field[i].checked = false; checkflag = "false"; return "Cocher toutes les cases"; } } </script>
[/code]

Eléphanteau du PHP | 30 Messages

06 juin 2006, 17:20

J'ai essayé ce truc, ça devait marcher.. mais non... Javascript est vraiment trés pointilleux.

function check(){
if (document.getElementById("box").checked==true) {
document.getElementById("un").Value="";
document.getElementById("deux").Value="";
document.getElementById("trois").Value="";
}
}

dans le body :

<input type="checkbox" id="box" onChange="check(this.value);">
<input type="text" id="un" onFocus="select();" value="Votre prénom">
<input type="text" id="deux" onFocus="select();" value="Votre nom"><br>
<textarea id="trois" onFocus="select();">Votre commentaire</textarea>


C'est peut être une voie à suivre, en tout cas ça ne marche pas tel quel... Ou bien tu peux utiliser le DOM, mais là c'est plus complexe.
Bon courage...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 juin 2006, 17:42

En fait, javascript distingue tableau et champ unique. Si tu n'as qu'une seule case à cocher, alors il ne s'agit pas d'un tableau et tu ne dois pas interroger field mais simplement field.

A tester :

Code : Tout sélectionner

if(field.length) { // si c'est un tableau on boucle for (i = 0; i < field.length; i++) field[i].checked = true; } else // si c'est un champ on l'utilise directement field.checked = true;