Nombre checkbox cochées

[Résolu]
Signaler
Messages postés
99
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
5 août 2009
-
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
-
Bonjour,



Je souhaiterai savoir combien de checkbox dans mon formulaire ont été cochées.

A savoir que mes checkbox portent le nom siteX (ou X est une variable incrémentée, due à une boucle php).



J'ai trouvé plein de scripts qui font à peu près ce que je veux mais
toujours avec des checkbox dont le nom est prédéfini (voir identique).



Moi ce que je veux c'est savoir combien de checkbox sont cochés dans mon formulaire, quelque soit leur nom.



Es ce possible ? Si oui comment faire ?



Merci d'avance

4 réponses

Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
Salut!

Voici un exemple :


<html>
<head>
<title>Untitled</title>

<STYLE
type= "
text/
css">

</STYLE>

<script type="text/javascript">

function checkBox
()

{
nf
= document
.form;
cachee
= nf
.cache;
cachee
.nombre
=
0;

for
(e
=0;e
<nf
.length;e
++)

if
(nf
.elements
[e
].name
.indexOf
("site")==0)

{
nf
.elements
[e
].onclick
=
new Function("cachee.nombre cachee.nombre + (this.checked?1:-1);cachee.value cachee.nombre;")

if
(nf
.elements
[e
].checked
) cachee
.nombre
++;

}
cachee
.value
= cachee
.nombre;

}

</script>
</head>

<form name=
"form">

</form>

</html>

A+, Ghislain
Messages postés
99
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
5 août 2009

Ah oui j'oubliais, je souhaite incrémenter un champ masqué à chaque case cochés et le désincrémenter au décochage.
Messages postés
99
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
5 août 2009

Ca marche nikel, merci beaucoup.



Par contre si tu pouvais m'expliquer chaque ligne à partir du premier For ce serait sympa.

J'aime pas recopier betement, je veux comprendre (par exemple c'est quoi indexOf ?)

Et puis ca m'aidera pour d'éventuels autres scripts.



Merci en tout cas
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
4
Salut!

En fait c'est assez simple comme script.

La boucle FOR incrémente la variable e jusqu'a ce qu'il a atteint le nombre d'éléments dans le formulaire.

Le premier IF verifie si le nom du formulaire commence par site. Si ce n'est pas le cas, il passe a l'élément du formulaire suivant.

La méthode indexOf retourne la position de la chaîne de caractère du premier paramètre à partir de l'index 0 de la chaîne ou a partir de la position du deuxième paramètre qui est optionnel. Si rien n'est trouvé, la méthode retourne -1.

Donc si indexOf trouve la chaîne site a la position 0, il attache une nouvelle fonction à l'évènement onclick de l'élément checkbox.

La nouvelle fonction incrémente ou décrémente le nombre de checkbox a la variable nombre attaché a l'élément caché. Ensuite l'élément caché est mis à jour dynamiquement avec cette valeur.

Le deuxième IF vérifie si checkbox est coché par defaut et si c'est le cas incrémente la variable nombre attaché a l'élément caché.

Après la boucle FOR, on met a jour la valeur de la variable caché.

J'espers avoir été claire

A+, Ghislain