Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2011, 17h03   #1
Invité de passage
 
Jean-Luc
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Jean-Luc

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut plusieurs check_all_box dans une page php

Bonjour,

Malgré moultes recherches, je n'ai pas trouvé comment dans une page php, avoir des checkbox pour en checker d'autres.
Exemple dans un affichage sous format de tableau, le premier checkbox d'une colonne me permettrait de sélectionner tous les checkbox de la colonne en question mais pas les checkbox des autres colonnes.
Ne connaissant pas à priori le nombre de colonnes...
Je n'ai pas de problème si je me contente d'une seule liste c-à-d d'un tableau à une seule entrée. (voir les nombreux exemples sur le net)

Par avance je remercie tous ceux qui m'aideront à résoudre ce petit (pour certains mais pas pour moi) problème.

JL
IJL_EM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 17h14   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
pas les names ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 17h19   #3
Invité de passage
 
Jean-Luc
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Jean-Luc

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut pas les names ?

Je ne comprends pas la question. Pouvez-vous être un peu plus précis ? Merci.
IJL_EM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 18h29   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
et des groupes de checks ayant le même name ...

c'est pas dans la FAQ ça ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 19h35   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Citation:
Envoyé par SpaceFrog Voir le message
c'est pas dans la FAQ ça ?
Mainte-fois résolue sur le forum aussi.
Fait une recherche.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 15h53   #6
Invité de passage
 
Jean-Luc
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Jean-Luc

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut plusieurs check_all_box dans une page php

J'insiste, j'en suis désolé mais je ne me suis peut-être pas bien fait comprendre :
voici une exemple de ce que je voudrais réussir à faire.
le name d'une série de checkbox est un tableau (tous[numero_de_colonne])
Le name du checkbox est un tableau de 3 colonnes (tab[numero_de_colonne]); chaque colonne comprend un nombre aléatoire d'élèments (dans mon exemple: 3 , 5 , 2)
Lorsque je coche sur la checkbox tous[1], la fonction checktous[1] est appelée et cochent tous les checkbox de la colonne 1; et inversement si je décoche tous[1] alors tous les tab[1] sont décochés.
voici le fichier php :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/* 
 
Date de création: 28/01/2011 
 
essai_check_all_dim2.php
 
*/ 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
 
function checktous(f , colonne)
{
  var ts = document.f.getElementsByName("tous");		  
  var tb = document.f.getElementsByName("tab");
 
  // alert(colonne);
 
  if (ts[colonne].checked==true)
  {			   
     for (var i=0; i < tb[colonne].length; i++) // 
    {
      tb[colonne][i].checked = true;
    }
    tb[colonne][0].focus();
  }
  else
  {
     for (var i=0; i < tb[colonne].length; i++)
     {
      tb[colonne][i].checked = false;
     }
     tb[colonne][0].focus();
  }
}
</script>
</head>
<body>
<?php
 
$nbcolonnes = 3;
$tabnbelements_colonne = array(3 , 5 , 2) ;
$tabelements = array();
 
for ($c=0 ; $c!=$nbcolonnes ; $c++)
{			
  for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
  {
  $tabelements[$c][$e] = 2 * $c + 3 * $e * $e;
  } 
} 
 
print("<form name =\"form\" action=\"lister.php\" method=\"post\" target=\"_self\" >");
print("<table><tr>");
for ($c=0 ; $c!=$nbcolonnes ; $c++)
{
  print("<td valign=\"top\">");
  print("<input type=\"checkbox\" name=\"tous[".$c."][]\" value=\"".$c."\" onClick=\"checktous(this.form, '$c');\">TOUS ".$c);
  print("<br /><br />");
 
  for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
  {
  print("<input type=\"checkbox\" name=\"tab[".$c."][]\" value=\"".$tabelements[$c][$e]."\" /> E = ".$tabelements[$c][$e]);
  print("<br />");
  } 
 
} 
print("</tr></table>");
print(" <input type=\"submit\" name=\"btn\" value=\"Lister\" />");
print("</form>");
 
?>
</body>
</html>
Si la solution de mon probléme existe dans un forum ou une FAQ alors donnez-moi SVP l'adresse où je peux la trouver. Merci.
IJL_EM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 19h49   #7
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Ton code php ne nous est d'aucune utilité, ici c'est un forum langage client
donne nous plutot le html généré ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 20h54   #8
Invité de passage
 
Jean-Luc
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Jean-Luc

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut source HTML obtenu

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
 
function checktous(f , colonne)
{
  var ts = document.getElementsByName("tous");		  
  var tb = document.getElementsByName("tab");
 
  // alert(colonne);
 
  if (ts[colonne].checked==true)
  {			   
   for (var i=0; i < tb[colonne].length; i++) // 
   {
    tb[colonne][i].checked = true;
   }
tb[colonne][0].focus();
  }
  else
  {
   for (var i=0; i < tb[colonne].length; i++)
   {
    tb[colonne][i].checked = false;
   }
   tb[colonne][0].focus();
 }
}
 
</script>
 </head>
 
 <body>
<form name ="form" action="lister.php" method="post" target="_self" >
<table><tr><td valign="top">
<input type="checkbox" name="tous[0]" value="0" onClick="checktous(this.form, '0');">TOUS 0<br /><br />
<input type="checkbox" name="tab[0][]" value="0" /> E = 0<br />
<input type="checkbox" name="tab[0][]" value="3" /> E = 3<br />
<input type="checkbox" name="tab[0][]" value="12" /> E = 12<br />
</td><td valign="top">
<input type="checkbox" name="tous[1]" value="1" onClick="checktous(this.form, '1');">TOUS 1<br /><br />
<input type="checkbox" name="tab[1][]" value="2" /> E = 2<br />
<input type="checkbox" name="tab[1][]" value="5" /> E = 5<br />
<input type="checkbox" name="tab[1][]" value="14" /> E = 14<br />
<input type="checkbox" name="tab[1][]" value="29" /> E = 29<br />
<input type="checkbox" name="tab[1][]" value="50" /> E = 50<br />
</td><td valign="top">
<input type="checkbox" name="tous[2]" value="2" onClick="checktous(this.form, '2');">TOUS 2<br /><br />
<input type="checkbox" name="tab[2][]" value="4" /> E = 4<br />
<input type="checkbox" name="tab[2][]" value="7" /> E = 7<br />
</td></tr></table> 
<input type="submit" name="btn" value="Lister" />
</form>  
 
</body>
</html>
IJL_EM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 10h12   #9
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Ton utilisation a tort de table pour faire de la mise en page dans le form empêche l'utilisation de la syntaxe getElementsByName, le table masquant les elements du form poru le DOM ...
On peut cependant accéder aux elements du form par la syntaxe ce qui donne:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script type="text/javascript">
function checktous(coche,groupe){
tabchks=document.forms[0].elements['tab['+groupe+'][]']
var i=-1
while(tabchks[++i]){
tabchks[i].checked=coche;
}
 
}
</script>
</head>
 
<body>
<form name ="form" action="lister.php" method="post" target="_self" >
<table><tr><td valign="top">
<input type="checkbox" name="tous[0]" value="0" onclick="checktous(this.checked,0);">TOUS 0<br /><br />
<input type="checkbox" name="tab[0][]" value="0" /> E = 0<br />
<input type="checkbox" name="tab[0][]" value="3" /> E = 3<br />
<input type="checkbox" name="tab[0][]" value="12" /> E = 12<br />
</td><td valign="top">
<input type="checkbox" name="tous[1]" value="1" onclick="checktous(this.checked,1);">TOUS 1<br /><br />
<input type="checkbox" name="tab[1][]" value="2" /> E = 2<br />
<input type="checkbox" name="tab[1][]" value="5" /> E = 5<br />
<input type="checkbox" name="tab[1][]" value="14" /> E = 14<br />
<input type="checkbox" name="tab[1][]" value="29" /> E = 29<br />
<input type="checkbox" name="tab[1][]" value="50" /> E = 50<br />
</td><td valign="top">
<input type="checkbox" name="tous[2]" value="2" onclick="checktous(this.checked,2);">TOUS 2<br /><br />
<input type="checkbox" name="tab[2][]" value="4" /> E = 4<br />
<input type="checkbox" name="tab[2][]" value="7" /> E = 7<br />
</td></tr></table> 
<input type="submit" name="btn" value="Lister" />
</form>  
 
</body>
</html>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 14h56   #10
Invité de passage
 
Jean-Luc
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Jean-Luc

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 0
Points : 0
Par défaut Un grand merci

MERCI !

Je vous suis très reconnaissant de m'avoir aidé sur cette difficulté.
Je vous souhaite la bonne journée.

JL
IJL_EM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web