Page 1 sur 1

Stopper un formulaire

Posté : 13 févr. 2007, 17:32
par Stef23
Bonjour,

J'ai un javascript dans ma page qui vérifie le nombre de cases cochées.
Il se lance avec un On SUbmit dans la balise <FORM>.

J'essaye de faire en sorte que si un nombre max de cases sont cochées, le formulaire ne s'execute pas. je pensais qu'un return false stoppait tout, apparemment non...(je suis tout debutant en javascript).

<form OnSubmit="derniereCaseCochee();" .....>

Code : Tout sélectionner

<script> clicsPossibles = 5; cases = document.formulaire.elements["secteur[]"]; function derniereCaseCochee() { nbrCasesCochees = 0; for (i = 0; i < cases.length; i++) { if (cases[i].checked) { nbrCasesCochees++; } } if (nbrCasesCochees >= clicsPossibles) { window.alert('Vous avez coché plus de 5 cases pour les secteurs d\'activités !'); return false; } } </script>

Posté : 13 févr. 2007, 18:37
par mere-teresa
Il faut plutôt faire
<form OnSubmit="javascript:return false;derniereCaseCochee();">

En fait, c'est le submit qui doit retourner false...sinon, ce que tu fais avec ta fonction équivaut à
<form OnSubmit="javascript:false;" .....>

Posté : 14 févr. 2007, 10:59
par Stef23
Si j'applique ce code, si j'ai bien compris, le formulaire se valide uniquement si ma fonction est vraie.
Mais de ce fait, je perd le message d'erreur.

Ce que je cherche a faire, c'est que quand je clique sur le bouton valider, un message s'affiche si il y a plus de 5 cases sélectionnées et donc ne lance pas le formulaire ou alors si le nombre est inférieur à 5 cases, alors OK le formulaire peut soumettre.

Comment faire ? :roll:

Posté : 14 févr. 2007, 12:34
par Ryle
A priori, il suffit que le submit retourne le résultat de ta fonction qui elle retournera vrai ou faux en fonction du succès :)

Code : Tout sélectionner

<form OnSubmit="javascript:return derniereCaseCochee();">