A voir également:
- Compter les coches
- Coches whatsapp - Accueil - Messagerie instantanée
- Excel compter cellule couleur sans vba - Guide
- Votre biographie ne peut pas inclure de coches ✓ - Forum Instagram
- Excel compter le nombre de oui ✓ - Forum Excel
- EXCEL Calculer le nombre de OUI et de NON ✓ - Forum Excel
5 réponses
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
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
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...
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...
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
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
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
<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
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");
}
}
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");
}
}
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 ...
<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 ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
Ca marche mieux.... mais au lieu d'afficher le compte, il
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()
Développe moi un peu ton code pour voir...