Rechercher : dans
Par :

Compter les coches

Dernière réponse le 7 nov 2001 à 17:44:37 RiKé, le 5 nov 2001 à 17:30:45 
 Signaler ce message aux modérateurs

Bonjour @ tous

Je cherche à créer un compteur qui me dise combien de checkbox sont cochées en temps réel sur une page .asp
Un JavaScript sans doute ???

Meilleures réponses pour « Compter les coches » dans :
[MSN] Compte MSN Messenger piraté / Piratage de compte Hotmail Voir Piratage de compte Vous vous êtes fait pirater votre compte MSN Messenger ou bien votre compte hotmail a été hacké et vous souhaitez absolument le récupérer ! Nettoyage de l'ordinateur Compte inaccessible - Contact du support MSN Attention...
[Outlook Express] Relever/consulter boite hotmail ou compte MSN VoirIl est possible de relever ses messages sur un compte Hotmail ou MSN à l'aide du client de messagerie Outlook Express 5 ou supérieur. Attention: depuis le premier trimestre 2005 cette option est payante ! Configuration d'Outlook Express Dans le...
Supprimer un compte MSN Messenger VoirVous voulez trier ou ôter des pseudos qui apparaissent dans la liste déroulante au démarrage de MSN Messenger ? Il existe plusieurs façons de procéder : Suppression d'un compte avec MSN version 7 Suppression d'un compte avec Windows Live...
Créer un compte iTunes sans carte bancaire VoirLe logiciel iTunes, à la base de la synchronisation des iPod, iPod Touch et iPhone, nécessite la création d'un compte pour pouvoir l'utiliser, notamment pour pouvoir télécharger des applications. Toutefois, lorsque l'on tente de créer un compte,...

1

slopera, le 6 nov 2001 à 17:14:31

Effectivement, Javascript :
Declaration de tes checkbox :
<form name="mon_form" ...>
<input type="checkbox" name="check1">
<input type="checkbox" name="check2">
...
</form>

Pour récupérer le compte, tu fais appel à la fonction suivante :

function compte() {
var compte ;
for (i=1 ; i<=n ; i++) {
if (eval("document.mon_form.check"+i+".checked")) {
compte++;
}
}
return compte ;
}

Cela devrait marcher.
Dis moi quand même si cela marche ou pas.

Stéphanie

Répondre à slopera

2

RiKé, le 7 nov 2001 à 10:33:55

Merci de ton aide Stéphanie...
Ca marche mieux.... mais au lieu d'afficher le compte, il

Répondre à RiKé

3

RiKé, le 7 nov 2001 à 10:35:58

Merci de ton aide Stéphanie...
Ca marche mieux.... mais au lieu d'afficher le compte, il affiche NaN

J'utilise la propriété OnClick="JavaScript:compte();" pour appeler la fonction compte()

Répondre à RiKé

4

slopera, le 7 nov 2001 à 11:11:35

Dans quoi tu fais le onclick=compte() ?
Développe moi un peu ton code pour voir...

Répondre à slopera

5

RiKé, le 7 nov 2001 à 11:36:35

Voici le code de mon formulaire...
Les checkbox sont créées en dynamique

<form method="post" action="plan_query_societe.asp" name="nomenc">

<%Dim x
x=0
Do while not Rs_societe.EOF
x=x+1%>

<input type="checkbox" onclick="javascript:compte();" name="check<%=x%>" value="<%=Rs_societe("cle1_cle2")%>"><%=Rs_societe("societe")%><BR>

<%
Rs_societe.MoveNext
Loop%>

.../...
</form>

et voici la fonction

<script language="JavaScript">
function compte() {
var compte ;
for (i=1 ; i<=355 ; i++) {
if (eval("document.nomenc.check"+i+".checked")) {
compte++;
}
}
alert("\n\nVous avez sélectionné " + compte + " sociétés !");
}
</script>


Je n'y connais pas grand chose en JavaScript... la variable compte est-elle bien déclarée?


Merci beaucoup pour ton aide...

Répondre à RiKé

6

slopera, le 7 nov 2001 à 12:01:04

Le variable compte ... n'est pas initialisée !! Désolée ...
Met :
var compte = 0 ;

Dis moi si ça roule comme ça.
Stéphanie

Répondre à slopera

7

RiKé, le 7 nov 2001 à 13:00:10

Ca marche très bien, merci beaucoup.
Cependant vu le nombre de checkboxes de ma pages (350), le script est un peu long à tout balayer....
J'va réfléchir à autre chose...

Merci encore pour ton coup de pouce...
J'espère un jour pouvoir à mon tour t'aider.

@+
Eric

Répondre à RiKé

8

slopera, le 7 nov 2001 à 13:52:03

Pt-être en mettant une variable globale Javascript :
<script>
var mon_compte = 0 ;
</script>
Je crois que par défaut aucune société n'est choisie, donc tu l'initialise à 0 sinon, tu comptes le nombre de société cliquées avec la fonction compte().

Puis, quand tu cliques sur un checkbox, tu vérifies si c'était cliqué : alors, tu enlève 1 à ta variable, sinon, tu ajoutes 1 :

<input type=checkbox name=check2 onclick="maj('click2')">...

<script>
function maj(name) {
if (document.mon_form.name.checked) {
mon_compte++;
alert ("vous avez choisi" + mon_compte + "societe");
}
else {
mon_compte--;
alert ("vous avez choisi" + mon_compte + "societe");
}
}
</script>

ou alors, tu ne fais pas appel à ta fonction compte() à chaque fois mais seulement quand tu valides :

<input type=submit name="valider" onclick="compte()">

Si tu t'y connais en XMLDOM, tu peux peut-être m'aider ...

Stéphanie

Répondre à slopera

9

slopera, le 7 nov 2001 à 14:03:25

OUPS
il fallait voir bien sur :
... onclick="maj('check2')" ...

Répondre à slopera

10

RiKé, le 7 nov 2001 à 14:58:00

Vraiment merci, ca tourne beaucoup plus vite, sauf que le décochage compte comme un cochage, c-a-d, que je coche ou décoche, mon_compte=mon_compte+1

J'ai modifié un peu le script, mais sans résultat...!


function maj(name) {
if (document.nomenc.name.checked = true) {
mon_compte++;
alert ("vous avez choisi " + mon_compte + " societes");
}
if (document.nomenc.name.checked = false) {
mon_compte--;
alert ("vous avez choisi " + mon_compte + " societes");
}
}

Répondre à RiKé

11

slopera, le 7 nov 2001 à 16:45:24

As-tu bien mis dans ton input :
<input type="checkbox"
onclick="javascript:maj('check<%=x%>)"
name="check<%=x%>"
value="<%=Rs_societe("cle1_cle2")%>">
...

Si tu as laissé maj('check2'), c'est normal que cela ne marche pas : le paramêtre est lui aussi dynamique : tu ne vérifies ainsi que la case que tu viens de cocher ou décocher.

J'espère que ce coup-ci, cela va marcher ...

Répondre à slopera

12

 RiKé, le 7 nov 2001 à 17:44:37

Oui, oui, tout est paramétré dynamiquement...
Vu la vitesse d'execution, il vérifie bien que la checkbox 'active', le probleme est qu'il ne cherche pas à savoir si 'cochée' ou 'non cochée', dans les deux cas, il ne voit que le clic dans la checkbox et incremente 'mon_compte' de +1 meme si j'ai décoché.

function maj(name) {
if (document.nomenc.name.checked = true) {
mon_compte++;
alert ("vous avez choisi " + mon_compte + " societes");
}
else {
mon_compte--;
alert ("Choisi " + mon_compte + " societes");
}
}



<input type="checkbox" onclick="maj('check<%=x%>');" name="check<%=x%>" value=...../....



Malheureusement je ne connais pas le XMLDOM (qu'est-ce?) mais qui sait ? Ce sera un plaisir de te dépanner un jour.

Répondre à RiKé
Collection CommentÇaMarche.net