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 16/01/2011, 20h59   #1
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Par défaut Récupérer les valeurs d'un groupe de checkbox

Bonsoir,
J'ai ce code :
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
 
<script type="text/javascript">
<!--
function check(){
for (i=0; i<document.test.check.length; i++) {
    if (document.test.check[i].checked)
      // cochée
			alert(i + 'coche');
   else
      // pas cochée
}
}
// -->
</script>
 
 
<form action="" method="post" name="test">
<input type="checkbox" name="check" value="1"/>1 <br />
<input type="checkbox" name="check" value="2"/>2 <br />
<input type="checkbox" name="check" value="3"/>3 <br />
<input type="checkbox" name="check" value="4"/>4 <br />
<input type="checkbox" name="check" value="5"/>5 <br />
<input type="button" value="GO" onclick="check();" />
</form>
Comment récupérer les valeurs des cases sélectionnées d'un coup pour leur envoi en ajax vers une page php. Le but serait dans le code php de parcourir ce array pour traitements diverses.

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 22h32   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
Bonjour,
évites des noms redondant comme check pour des name et pour des noms de fonction.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 05h36   #3
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,

Tu peux t'inspirer de cet exemple :
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
<?php
  if (isset($_POST['btn']))
  {
    foreach ($_POST['check'] as $valeur)
    {
      echo 'valeur : ' . $valeur . ' cochée<br />';
    }
  }
?>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript">
      function check(formulaire)
      {
        var nb = formulaire.elements['check[]'].length;
        for (i = 0; i < nb; i ++)
        {
          if (formulaire.elements['check[]'][i].checked)
          {
            alert('valeur ' + formulaire.elements['check[]'][i].value + ' cochée');
          }
        }
      }
    </script>
  </head>
  <body>
    <form action="" method="post" name="test" onsubmit="check(this);" >
      <input type="checkbox" name="check[]" value="1"/>1 <br />
      <input type="checkbox" name="check[]" value="2"/>2 <br />
      <input type="checkbox" name="check[]" value="3"/>3 <br />
      <input type="checkbox" name="check[]" value="4"/>4 <br />
      <input type="checkbox" name="check[]" value="5"/>5 <br />
      <input type="submit" name="btn" value="GO" />
    </form>
  </body>
</html>
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 09h38   #4
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Citation:
Envoyé par jeca Voir le message
Bonjour,
Oui cè déjà bon, ce que je souhaite ensuite c'est concaténer l'ensemble des checkbox checked. J'ai modifié la fonction mais c'est pas ce que je veux. Voici le code de la fonction :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
      function check(formulaire){
        var nb = formulaire.elements['check[]'].length;
	var titre;
        for (i = 0; i < nb; i ++){
          if (formulaire.elements['check[]'][i].checked){
            //alert('valeur ' + formulaire.elements['check[]'][i].value + ' cochée');
	    titre = formulaire.elements['check[]'][i].value + ',';
          }
        }
         alert(titre);
      }
Moi j'attends un truc de ce genre 1,4,5 si les checkbox 1,4 et 5 ont été checked.

Merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 10h36   #5
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Code :
titre += formulaire.elements['check[]'][i].value + ',';
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 11h55   #6
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Citation:
Envoyé par Loceka Voir le message
Code :
titre += formulaire.elements['check[]'][i].value + ',';
merci à vous tous et j'ai ceci comme résultat après la modif
Citation:
undefined1,2,3,4,5,
après avoir checked toutes les cases.
Comment chasser ce undefined et la dernière virgule?

merci d'avance...
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 12h00   #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
[edit]

j'ai rien dit ...
c'est la fièvre ...
ce sont bien des [] ....
__________________
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 17/01/2011, 12h00   #8
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Le undefined vient du fait que tu n'as pas initialisé ta variable. Il suffit donc de le faire :Pour la dernière virgule, c'est de l'algo, je te laisse chercher.

PS : Spaffy
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 12h56   #9
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
Il me semble que le plus simple serait de mettre les éléments sélectionnés dans un nouveau tableau, et d'utiliser la méthode "join" en sortie de boucle afin de le transformer en chaine de caractères.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 15h40   #10
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Citation:
Envoyé par jeca Voir le message
Il me semble que le plus simple serait de mettre les éléments sélectionnés dans un nouveau tableau, et d'utiliser la méthode "join" en sortie de boucle afin de le transformer en chaine de caractères.
Une piste du JOIN?
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 18h09   #11
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 768
Points : 5 768
Bonjour,

Une simple recherche sur la Faq ?

__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 18h53   #12
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Je n'arrive pas d'abord à créer un array pour enfin faire le join. J'essaie ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
      function check(formulaire){
        var nb = formulaire.elements['check'].length;
	var  tab = new  Array();
        for (i = 0; i < nb; i ++){
          if (formulaire.elements['check'][i].checked){
              tab[] = formulaire.elements['check'][i].value;
          }
        }
         alert(tab.length);
      }
ca ne marche pas
okoweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2011, 19h11   #13
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
il me semble effectivement indispensable de faire une (ré)vision, LES TABLEAUX
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 11h59   #14
Membre éclairé
 
Homme Gérard Okono
Développeur Web
Inscription : juillet 2006
Messages : 707
Détails du profil
Informations personnelles :
Nom : Homme Gérard Okono
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juillet 2006
Messages : 707
Points : 328
Points : 328
Merci à vous tous...cè bon.
okoweb 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 01h54.


 
 
 
 
Partenaires

Hébergement Web