Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 19/06/2011, 19h53   #1
Rédacteur
 
Avatar de pi-2r
 
Inscription : juin 2006
Messages : 1 384
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 384
Points : 2 211
Points : 2 211
Par défaut tout cocher via des checkbox

Bonsoir,

dans une page php, j'ai mis en place un tableau qui me ressort tous les éléments de mes différentes requêtes.
Ces requêtes correspondent à des personnels de marie que l'on sélectionne via un checkbox.
L'enregistrement d'un checkbox se fait dans une variable de type tableau. Pour ce faire je me suis servit du tuto de julp.

Toutefois, je ne sais pas comment faire fonctionner un onglet "tout cocher", pour sélectionner tous les employés.

mon code est le suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="javascript">
function toutcocher()
{
    for(i=0;i<document.F1.length;i++)
    {
        if(document.F1.elements[i].type=="checkbox")
        {
            document.F1.elements[i].checked=true;
        }
    }    
}
 
</script>
Code :
1
2
3
4
5
6
7
8
9
 
<input type="checkbox" 
<?php
if($donnees['selection_liste'] == 'oui')
{ 
echo'checked="yes"';
}
?>
name="mon_champ[]" value="<?php echo $donnees['id_liste'];?>"/>
si quelqu'un à une piste, je suis preneur
__________________
Les pièges de l'Internet
Helix, réponse à une intrusion
[ Pas de questions techniques en MP ]


"La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
"Si j’ai vu si loin, c’est que j’étais monté sur des épaules de géants." Isaac Newton
pi-2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 23h29   #2
Membre du Club
 
Avatar de MinDBuSteR
 
Homme
Développeur informatique
Inscription : juin 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val d'Oise (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2011
Messages : 35
Points : 44
Points : 44
Bonsoir,

Je pense que ta solution est plus complexe en passant par le javascript.

J'aurais fais en passant par une simple variable en GET.

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
<?php
if ( isset ($_GET['check'])) { $checked = $_GET['check']; } else { $checked = ''; }
if ( $checked == "checked")
{ 
$resultat = "checked=\"checked\"";
}
else
{
$resultat = "";
}
?>
 
 
<body>
<form id="form1" name="form1" method="post" action="">
  <label>
    <input type="checkbox" name="personnel1" id="personnel1" <?php echo $resultat; ?>/>
     <input type="checkbox" name="personnel2" id="personnel2" <?php echo $resultat; ?>/>
      <input name="personnel3" type="checkbox" id="personnel3" <?php echo $resultat; ?> />
       <input type="checkbox" name="personnel4" id="personnel4" <?php echo $resultat; ?>/>
  </label>
</form>
<a href="test.php?check=checked">Tout cocher</a><a href="test.php?check=nochecked">Tout decocher</a>
</body>
En espérant t'avoir aider.
MinDBuSteR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 00h21   #3
Rédacteur
 
Avatar de pi-2r
 
Inscription : juin 2006
Messages : 1 384
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 384
Points : 2 211
Points : 2 211
ok merci de ta réponse MinDBuSteR, je regarde ça
__________________
Les pièges de l'Internet
Helix, réponse à une intrusion
[ Pas de questions techniques en MP ]


"La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
"Si j’ai vu si loin, c’est que j’étais monté sur des épaules de géants." Isaac Newton
pi-2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 06h45   #4
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Un petit exemple en javascript :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title></title>
    <script type="text/javascript">
      function cocherDecocher(obj, controle)
      {
        var checked = (obj.checked) ? "checked" : "";
        for (cle in controle)
        {
          controle[cle].checked = checked;
        }
      }
    </script>
  </head>
  <body>
    <form name="formulaire" id="formulaire" method="post" action="">
      <table border="0" width="50%" align="center">
        <tr>
          <td>checkbox 1</td>
          <td align="left">
            <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 1" />
          </td>
        </tr>
        <tr>
          <td>checkbox 2</td>
          <td align="left">
            <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 2" />
          </td>
        </tr>
        <tr>
          <td>checkbox 3</td>
          <td align="left">
            <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 3" />
          </td>
        </tr>
        <tr>
          <td>checkbox 4</td>
          <td align="left">
            <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 4" />
          </td>
        </tr>
        <tr>
          <td>checkbox 5</td>
          <td align="left">
            <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 5" />
          </td>
        </tr>
        <tr>
          <td><b>Cliquez ici pour cocher ou décocher les checkbox</b></td>
          <td>
            <input type="checkbox" name="all" id="all" onclick="cocherDecocher(this, this.form.elements['chk[]'])" />
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 06h56   #5
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
Bonjour,

Attention au code de jeca, un id doit être unique dans un document.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 12h35   #6
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Citation:
Envoyé par andry.aime Voir le message
Bonjour,

Attention au code de jeca, un id doit être unique dans un document.

A+.
Bonjour, il serait peut être préférable en effet de concaténer un id et un numéro. Je m'explique pour chaque input tu mets un même nom mais avec un numéro unique par la suite qui s'incrémente.

exemple:
chk1
chk2
chk3

et après dans ton javascript tu insert un concaténation pour obtenir ainsi chaque id de ton formulaire soit par une boucle soit de manière manuelle.

concaténation javascript:
Code :
1
2
3
4
 
var chaine="Première partie";
var chaine2=" seconde partie";
alert(chaine);
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 13h32   #7
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Citation:
Envoyé par andry.aime Voir le message
Attention au code de jeca, un id doit être unique dans un document.
Exact. Je me suis planté.
Après consultation de la DTD : http://www.la-grange.net/w3c/xhtml1/#dtds, l'attribut "id" de l"élément "input" n'est pas "REQUIRED". Il suffit donc de le supprimer.

Je préfère la formulation en tableau des attributs "name' des "input" car plus simples à récupérer en PHP si besoin est.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 21h00   #8
Rédacteur
 
Avatar de pi-2r
 
Inscription : juin 2006
Messages : 1 384
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 384
Points : 2 211
Points : 2 211
merci de votre aide, j'ai réussi à faire ce que je voulais
__________________
Les pièges de l'Internet
Helix, réponse à une intrusion
[ Pas de questions techniques en MP ]


"La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
"Si j’ai vu si loin, c’est que j’étais monté sur des épaules de géants." Isaac Newton
pi-2r 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 01h31.


 
 
 
 
Partenaires

Hébergement Web