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 15/04/2011, 14h25   #1
Rédacteur/Modérateur
 
Avatar de kOrt3x
 
Homme Aurélien Gaymay
Technicien Informatique/Etudiant Web
Inscription : septembre 2006
Messages : 2 320
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gaymay
Âge : 29
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Technicien Informatique/Etudiant Web
Secteur : Santé

Informations forums :
Inscription : septembre 2006
Messages : 2 320
Points : 7 272
Points : 7 272
Envoyer un message via AIM à kOrt3x Envoyer un message via MSN à kOrt3x Envoyer un message via Skype™ à kOrt3x
Par défaut name checkbox multiple

Bonjour,

J'ai une page HTML qui contient une liste de checkbox qui ont pour nom name="box".
Certaines checkbox peuvent être répéter x fois.

Comment puis-je savoir sur quel checkbox j'ai cliqué ?

j'ai déjà une function qui regarde si tous les checkbox sont cochées :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
function checkAllBox(){
                var boxes = document.info.box.length;
                for (i = 0; i < boxes; i++){
                    if(!document.info.box[i].checked){
                        //alert("Contrôle incomplet !!");
                        document.info.box[i].focus();
                        return false;
                    }
                }
                return true;
            }
Sachant que je dois faire un contrôle sur chaque checkbox, mais le tous est de savoir quelle checkbox j'ai cliqué.

merci.
__________________
QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
QuickEvent Lite : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
______________________________________________________________________________________

La rubrique Mac - Les cours & tutoriels Mac - Critiques de Livres Mac
kOrt3x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 16h42   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Les checkboxes sont-elles présentes dans le HTML "en dur" ou bien ajoutées dynamiquement par JS ?

En tout cas, mets leur un id incrémenté et récupère le dans le gestionnaire onclick avec quelque chose comme
Code javascript :
1
2
   var cible = e.target || e.srcElement;
var checkId = e.id;
("e" étant ici le nom donné au paramètre event du gestionnaire)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 18h43   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
Oui, ou en faisant passant l'objet cliqué en paramètre :
Code html :
<input type="checkbox" name="box" value="XXX" onclick="checkAllBox(this)" />
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 22h17   #4
Rédacteur/Modérateur
 
Avatar de kOrt3x
 
Homme Aurélien Gaymay
Technicien Informatique/Etudiant Web
Inscription : septembre 2006
Messages : 2 320
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gaymay
Âge : 29
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Technicien Informatique/Etudiant Web
Secteur : Santé

Informations forums :
Inscription : septembre 2006
Messages : 2 320
Points : 7 272
Points : 7 272
Envoyer un message via AIM à kOrt3x Envoyer un message via MSN à kOrt3x Envoyer un message via Skype™ à kOrt3x
Merci pour vos réponses, mais dans mon code, on peut avoir plusieurs fois la même checkbox :

Code :
1
2
3
<input type="checkbox" name="box" value="Nom" onclick="checkAllBox(this)" />Nom (1)
<input type="checkbox" name="box" value="Nom" onclick="checkAllBox(this)" />Nom (2)
<input type="checkbox" name="box" value="Nom" onclick="checkAllBox(this)" />Nom (3)
Comme savoir que je clique sur le Nom (2) sachant qu'ils ont le même name ?
__________________
QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
QuickEvent Lite : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
______________________________________________________________________________________

La rubrique Mac - Les cours & tutoriels Mac - Critiques de Livres Mac
kOrt3x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 09h29   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
Bonjour,
il me paraît comme maladroit d'utiliser la même value pour tout les CHECKBOX, après tout c'est ce sont ces value qui sont soumises.

Lorsque tu passes en paramètre le this à la fonction tu peux de ce fait récupérer cette value.

Il existe aussi la notion de balise LABEL, qui accroît l'accessibilité, et qui peut te permettre de récupérer le texte de celui ci.

De plus il serait peut être plus judicieux de déclarer le name sous forme de "tableau", ici "box[]" afin de faciliter la récupération du(es) choix(s) coté serveur.

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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>[...]</title>
<script type="text/javascript">
function checkAllBox( obj){
 
  alert( 'value : ' +obj.value +'\nlastChild : ' +obj.parentNode.lastChild.data);
 
  var boxes = document.info.box.length;
  for (i = 0; i < boxes; i++){
    if(!document.info.box[i].checked){
      //alert("Contrôle incomplet !!");
      document.info.box[i].focus();
      return false;
    }
  }
  return true;
}
</script>
</head>
<body>
<form name="info">
  <label><input type="checkbox" name="box[]" value="Nom (1)" onclick="checkAllBox(this)">Nom (1)</label>
  <label><input type="checkbox" name="box[]" value="Nom (2)" onclick="checkAllBox(this)">Nom (2)</label>
  <label><input type="checkbox" name="box[]" value="Nom (3)" onclick="checkAllBox(this)">Nom (3)</label>
</form>
</body>
</html>
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 09h35   #6
Rédacteur/Modérateur
 
Avatar de kOrt3x
 
Homme Aurélien Gaymay
Technicien Informatique/Etudiant Web
Inscription : septembre 2006
Messages : 2 320
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gaymay
Âge : 29
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Technicien Informatique/Etudiant Web
Secteur : Santé

Informations forums :
Inscription : septembre 2006
Messages : 2 320
Points : 7 272
Points : 7 272
Envoyer un message via AIM à kOrt3x Envoyer un message via MSN à kOrt3x Envoyer un message via Skype™ à kOrt3x
Ok, merci, je vais regarder tous ça.

Merci
__________________
QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
QuickEvent Lite : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
______________________________________________________________________________________

La rubrique Mac - Les cours & tutoriels Mac - Critiques de Livres Mac
kOrt3x est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web