Bonjour,
Comme je suis un gars très intelligent, j'ai besoin d'aide pour réussir à afficher un message d'alerte si le gars valide le formulaire mais a coché plus de 5 checkboxs.![]()
merci d'avance
Bonjour,
Comme je suis un gars très intelligent, j'ai besoin d'aide pour réussir à afficher un message d'alerte si le gars valide le formulaire mais a coché plus de 5 checkboxs.![]()
merci d'avance
bonjour,
Il faut vérifier si chaque case est cochée ou décochée et incrémenter ou décrémenter un compteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 <html> <head> <title></title> <script type="text/javascript"> <!-- var numCheck = 0; var checkMax = 5; function testCheck(obj) { if (obj.checked==true) numCheck++; else numCheck--; document.getElementById("idOut").innerHTML = numCheck +" cases cochées"; } function valider() { if (numCheck>checkMax) { alert("il faut en cocher moins !!"); return false; } else return true; return true; } //--> </script> </head> <body> <form> <input type="checkbox" id="idchk1" onclick="testCheck(this)"> <input type="checkbox" id="idchk2" onclick="testCheck(this)"> <input type="checkbox" id="idchk3" onclick="testCheck(this)"> <input type="checkbox" id="idchk4" onclick="testCheck(this)"> <input type="checkbox" id="idchk5" onclick="testCheck(this)"> <input type="checkbox" id="idchk6" onclick="testCheck(this)"> <br><br> <input type="submit" value="Envoyer" onclick="valider()"> <input type="reset" value="Effacer"> </form> <div id="idOut"></div> </body> </html>
Tu fais une boucle sur tes element du formulaire et tu vérifie si la case a coché et coché ou non voial comment faire en gros :
Voila en gros
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var compteur = 0; for (var i = 0; i < document.forms.length; i++) { if(document.forms[i].type== "checkbox"){ if(document.forms[i].checked == true){ comteur++: } } } if(compteur > 5 ){ alert("Ton mesage d'erreur !"); }previens moi du resultat
Génial, un grand merci à vous les gars![]()
Pour tout dire j'ai pas testé la méthode de Sancho_54, parce que celle en kit proposée par Auteur fonctionne très bien et comme j'ai une légère allergie au javascript, j'aime mieux pas trop m'attarder sur le code. Mais bon, c'est l'intention qui compte![]()
Encore merci à vous deux.
Euh... Par contre y'a ce gros lourd d'internet explorer qui me bloque le script et m'affiche le bandeau jaune en haut "pour vous aider à protéger votre ordinateur, internet explorer a restreint l'exécution des scripts gnagnagna gnagnagna".
C'est possible de contourner ça ? Ca le fait pas pour mes autres scripts javascript, par exemple quand j'affiche ou masque une div.
Et là ça le fait![]()
C'est sans doute à cause du bouton valider du formulaire. Après ce message IE ne te propose pas de continuer l'exécution du script (ce qui entraine l'envoi du formulaire) ?Envoyé par JackBeauregard
Pour contourner le problème, modifie les options d'IE. (peut-être que dans la boite de dialogue, tu as une case à cocher "Ne plus afficher cet avertissement")
Je ne sais pas.C'est sans doute à cause du bouton valider du formulaire.
OuiAprès ce message IE ne te propose pas de continuer l'exécution du script (ce qui entraine l'envoi du formulaire) ?
Pas pratique, je me vois mal demander à mes visiteurs de le faire exprès pour mon formulaire.Pour contourner le problème, modifie les options d'IE. (peut-être que dans la boite de dialogue, tu as une case à cocher "Ne plus afficher cet avertissement")
Partager