c.klouchi Posté 27 Décembre 2004 Posté 27 Décembre 2004 Bonsoir, j'essaye de programmer un formualire avec 3 champs et j'aimerais qu'un script en JD vérifie si les champs ont bien été remplie. Pour l'instant j'en suis rendu ici <script type="text/javascript">function checkBlank(input,msg){ if (input.value == null || input.value.length == 0) { alert ("Un ou plusieurs champs n'ont pas été rempli"); return false; } var str = input.value; for (var i = 0; i < str.length;i++){ var ch = str.substring(i,i+1); if ( ch == " ") { alert ("Un ou plusieurs champs n'ont pas été rempli"); return false; } } return true;}function checkForm(form){ if ( !checkBlank(form.pseudo) || !checkBlank(form.email) || !checkBlank(form.url)) { return false; } form.submit(); alert ("Merci pour votre reponse..."); return true;}</script><form action="valide.php" method="post" enctype="application/x-www-form-urlencoded" >vos prénom, nom <input type="text" name="pseudo">votre email <input type="text" name="email">url de votre site <input type="text" name="url"><input type="submit" value="cliquez-ici" onClick="checkForm(this.form)"></form> voir le resultat ici -http://www.emule-conseil.com/essai/form.htm Mon souci et que lorsque un lien n'est pas rempli , le script le detecte mais renvoie quand même sur la page suivante valide.php Alors qu'il faudrait qu'il reste sur la même page. Quelqu'un a t-il une idée ?
vincent_w Posté 28 Décembre 2004 Posté 28 Décembre 2004 Bonjour j'utilise un script dans le meme genre que le tiens je dois cependant l'amélioré un peu . J'ai regardé ton script mais y a certain truc que j'ai pas très bien compris a vrai dire. voici l'adresse ou tu pourra trouver le miens regarde dans la source pour le code. http://wulveryck.vincent.free.fr/formulaire.html Amicalement vincent
K-ZimiR Posté 28 Décembre 2004 Posté 28 Décembre 2004 J'ai rapidement parcouru ton code et le problème vient du fait que tu vérifies ton formulaire par une succession de if{} mais le .submit() est exécuté quelque soit le résultat du if{}, donc par conséquent il validera le formulaire. J'utiliserais le if ... else ... et j'écrirais un truc du genre : function checkForm(form) { if (!checkBlank(form.pseudo) || !checkBlank(form.email) || !checkBlank(form.url)) { return false; } else { form.submit(); alert ("Merci pour votre reponse..."); return true; }}
Thanh Posté 13 Janvier 2005 Posté 13 Janvier 2005 (modifié) Il existe une technique assez répandue consistant à construire l'ensemble des messages d'erreur que tu afficheras à la fin de tes controles via la fonction alert. Ainsi, si la variable contenant les variables est vide tu submit le formulaire. Sinon tu affiches les messages Modifié 13 Janvier 2005 par solo
Findel Posté 13 Janvier 2005 Posté 13 Janvier 2005 Et il vaut mieux que tu colles la fonction de vérification dans le onSubmit du form plutot que sur le bouton ... car si on appuie sur Entree, ca ne lancera pas la fonction sinon
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant