PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-07-2009 14:18:06

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

bouton tout cocher les cases

bonjour,

je souhaite sur une page php mettre un bouton TOUT COCHER qui va me permettre de cocher d'un seul coup toutes mes cases à cocher.

j'ai récupérer un code mais je n'arrive pas à le mettre en place du moins rien ne se passe quand je clique sur le bouton TOUT COCHER.

voici le javascript:


<!-- Begin
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"; }
}
}
//  End -->
 

et voici ma page contenant le bouton TOUT COCHER


include ("inc_entete.html") ; // appelle mon code javascript
print "<DIV ID=\"listeetiquette\"><FORM NAME=\"forme1\" method=\"post\" action=\"traitement_reception.php\"><TABLE BORDER=\"0\" align=\"center\" CELLPADDING=\"0\" width=\"90%\" CELLSPACING=\"0\">";
print "<TR align=\"center\" bgcolor=\"#FFCC33\"><td>RECEPTIONNE</td><td> </td><td>PRENOM</td><td>NOM</td><td>VILLE</td><td>MAIL</td></TR>";
print "<TR><TD colspan=\"8\"> </TD></TR>";
while ($r = mysql_fetch_array($q))
{
print "<TR><TD><INPUT TYPE=\"checkbox\" name=\"liste[]\" value=\"".$r['id_person']."\"></TD>";
print "<TD>".$r['genre']."</TD><TD>".$r['prenom']."</TD><TD>".$r['nom']."</TD><TD>".$r['ville']."</TD><TD><A HREF=\"mailto:".$r['mail']."\">".$r['mail']."</A></TD></TR>";
}

print "</TABLE>";
print "</DIV>";
print "<BR><BR><BR><BR><BR><BR><BR><BR>";
print "<center>";
print"<input type=\"submit\" name=\"Submit\" value=\"Valider\">";
print"<input type=\"button\"  value=\"Tout cocher\" onClick=\"this.value=check(this.form.liste)\">";
print "</center>";
print"</FORM>";
 

Merci pour votre aide

A+

Hors ligne

#2 03-07-2009 14:38:49

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Saluton,
Plutôt que le code php, tu devrais nous fournir le code html résultant.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 03-07-2009 15:00:41

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : bouton tout cocher les cases

qu'est ce tu entends par résultant car rien ne se passe qd je cliques sur mon bouton.

Merci.

Hors ligne

#4 03-07-2009 15:13:44

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Quand tu charges la page php dans ton navigateur, tu demande Afficher le code source (html) de la page.
Et tu fais un copier-coller de ce que tu obtiens pour nous le montrer.
Car débugger du javascript, c'est déjà tartinoche, mais à partir d'un php générant du html c'est carrément l'horreur.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 03-07-2009 15:24:21

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Entre

print "<TR><TD><INPUT TYPE=\"checkbox\" name=\"liste[]\" value=\"".$r['id_person']."\"></TD>";

et

print"<input type=\"button\"  value=\"Tout cocher\" onClick=\"this.value=check(this.form.liste)\">";

tu ne vois pas comme un malaise ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 03-07-2009 15:47:29

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : bouton tout cocher les cases

voila le source lors de l'appel:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[url]http://www.w3.org/TR/html4/loose.dtd[/url]">
<html>
<head>
<title>Réception candidature</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
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"; }
}
}
//  End -->
</script>
</head>
<body>

  <p align="center" class="Style2"><strong>Réception des dossiers de Candidature </strong></p>

  <p align="center"><a href="index.php" class="Style10">Accueil</a></p>

<BR><DIV ID="listeetiquette"><FORM NAME="forme1" method="post" action="traitement_reception.php"><TABLE BORDER="0" align="center" CELLPADDING="0" width="90%" CELLSPACING="0"><TR align="center" bgcolor="#FFCC33"><td>RECEPTIONNE</td><td> </td><td>PRENOM</td><td>NOM</td><td>VILLE</td><td>MAIL</td></TR><TR><TD colspan="8"> </TD></TR><TR><TD><INPUT TYPE="checkbox" name="liste[]" value="43"></TD><TD>Mr</TD><TD>Jean</TD><TD>DUJARDIN</TD><TD>CERTINES</TD><TD><A HREF="mailto:jean.dujardin@orange.fr">jean.dujardin@orange.fr</A></TD></TR><TR><TD><INPUT TYPE="checkbox" name="liste[]" value="74"></TD><TD>Mlle</TD><TD>Murielle</TD><TD>VALANTINE</TD><TD>DOMPNAC</TD><TD><A HREF="mailto:valantine.charlotte@orange.fr">valantine.charlotte@orange.fr</A></TD></TR></TABLE></DIV><BR><BR><BR><BR><BR><BR><BR><BR><center><input type="submit" name="Submit" value="Valider"><input type="button"  value="Tout cocher" onClick="this.value=check(this.form.liste)"></center></FORM>

</body>
</html>
 


Merci.

Hors ligne

#7 03-07-2009 15:52:19

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : bouton tout cocher les cases

désolé mais justement je ne vois pas de malaise Maljuna Kris ???

Hors ligne

#8 03-07-2009 15:54:41

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Si tu nommes les checkboxes "liste[]" il m'étonnerait fort que le DOM connaisse this.form.liste


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 04-07-2009 07:52:07

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Testes cette petite page

<html>
    <head>
        <title>liste de checkboxes</title>
        <script language="javascript">
function swapliste(liste,bouton){
    var i=0;
    var coche=false;
    if(bouton.value=='tout cocher'){
        coche=true;
        bouton.value='tout décocher';
        }
    else{
        coche=false;
        bouton.value='tout cocher';
        }
    while(liste[i]){
        liste[i].checked=coche;
        i++;
        }
    }
        </script>
    </head>
    <body>
        <form>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="checkbox" name="liste[]" onclick="alert(this.name);"/>
            <input type="button" value="tout cocher" name="bouton" onclick="swapliste(this.form.elements['liste[]'],this);"/>
        </form>
    </body>
</html>

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 07-07-2009 16:13:06

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : bouton tout cocher les cases

Bonjour Maljuna Kris,

j'ai mis ton code et cela fonctionne bien càd le bouton tout cocher/ décocher, coche et décoche bien mes cases mais par contre mon formulaire appelle une page traitement.php et cette page du coup est appelé 3 fois si il y a 3 cases à cocher il fera la manip 3 fois si il y en 5 cases il fera 5 fois....

comment remédier à cela ???

Merci.

Hors ligne

#11 10-07-2009 10:42:42

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : bouton tout cocher les cases

Bonjour,

Personne n'a une idée????

Merci.

Hors ligne

#12 10-07-2009 11:41:28

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : bouton tout cocher les cases

Ma boule de cristal étant en panne, je n'arrive pas à voir le script traitement.php.
Comme par ailleurs on ne sait pas comment ledit script est invoqué, difficile de savoir pourquoi il l'est à plusieurs reprises.
A priori, l'attribut action d'un formulaire ne fonctionne pas comme cela, mais comme tu me sembles t'affranchir des fonctionnements naturels pour te lancer dans des tarabistouilles que tu ne maîtrises pas, je m'attends au pire.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums