Champ obligatoire d'un formulaire
Résolu
Damien1987
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour vous !!!
j'ai ENCORE un souci :s ( bah oui j'suis désolé, excusez moi :( )
c'est toujours au sujet de l'envoi des emails.
j'ai ajouté un script pour vérifier les champs obligatoires avant d'envoyer le mail.
j'ai testé avec un seul champ pour voir, et le problème est que lorsque je ne rempli pas ce champ, il me dit bien que j'ai oublié de le remplir ( donc clic sur ok en dessous du message).
mais le mail s'envoie quand même juste apres .... c'est tout de même embêtant ......
une idée sur mon erreur ?!
formmail.php
script pour vérifier les champs:
bouton d'envoi:
j'ai ENCORE un souci :s ( bah oui j'suis désolé, excusez moi :( )
c'est toujours au sujet de l'envoi des emails.
j'ai ajouté un script pour vérifier les champs obligatoires avant d'envoyer le mail.
j'ai testé avec un seul champ pour voir, et le problème est que lorsque je ne rempli pas ce champ, il me dit bien que j'ai oublié de le remplir ( donc clic sur ok en dessous du message).
mais le mail s'envoie quand même juste apres .... c'est tout de même embêtant ......
une idée sur mon erreur ?!
formmail.php
<?php $TO = htmlspecialchars($_POST["Email"]); $FROM = ""; $subject = "commande"; $message = "Bonjour,"; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } mail($TO, $subject, $message, $h); Header("Location: http://lien_redirection.html"); ?>
script pour vérifier les champs:
<SCRIPT LANGUAGE="JavaScript"> function verifForm(formulaire) { if(formulaire.nom.value == "") alert('Vous avez oublié de saisir votre nom !'); else formulaire.submit(); } </SCRIPT>
bouton d'envoi:
<FORM> <input type=submit value="Commander onClick="verifForm(this.form)"> </form>
A voir également:
- Champ obligatoire d'un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Obligatoire - Accueil - Maison
- Formulaire de reclamation instagram - Guide
- Darkiworld inscription obligatoire - Guide
4 réponses
Voilà le principe, à compléter bien sur:
<script type="text/javascript" language="javascript"> //mets les noms de balise en minuscules, et le type de script function verif_form(formulaire){ if(formulaire.nom.value == ""){ alert('vous avez oublié de saisir votre nom !'); return false; //on renvoie false et on sort de la fonction, le formulaire n'ets pas envoyé } ///// ci dessous tu peux rajouter d'autres champs a tester de la même façon if(.... return false ///// //et a la fin de la fonction: //si on arrive la c'est que tu est ok donc on renvoie true ce qui autorise l'envoi du formulaire return true; } </script> <form name="form1" method="post" action="formmail.php" onSubmit="return verif_form('form1');"> <!-- ci dessus le onSubmit="return ...... attend un retour true pour poster le formulaire, si false ça ne part pas --> <input type="submit" name="commander" value="Commander" /> </form>
Re !
j'ai un peu avancé ... une peu ....
j'ai changé mon bouton en:
donc, si le champ "Nom" n'est pas rempli, il ne l'envoi pas comme prevu.
si il est rempli, je suis redirigé vers la page prévu dans le formmail.php
le problème est que l'email ne s'envoie pas, bien que le formmail à l'air d'avoir répondu a la commande
j'ai un peu avancé ... une peu ....
j'ai changé mon bouton en:
<FORM> <input type="button" value="Envoyer" onClick="verifForm(this.form)"> </form>
donc, si le champ "Nom" n'est pas rempli, il ne l'envoi pas comme prevu.
si il est rempli, je suis redirigé vers la page prévu dans le formmail.php
Header("Location: http://lien_redirection.html");
le problème est que l'email ne s'envoie pas, bien que le formmail à l'air d'avoir répondu a la commande
Bonjour Alian_42
j'ai fais comme tu as dit, mais maintenant, champ rempli ou non, le formmail continu son travail sans vérifier les champs.
voila se que j'ai fait
( a savoir que j'ai deja 2 formulaires imbriqués, de calcul et d'envoi d'email)
j'ai fais comme tu as dit, mais maintenant, champ rempli ou non, le formmail continu son travail sans vérifier les champs.
voila se que j'ai fait
<script type="text/javascript" language="javascript"> //mets les noms de balise en minuscules, et le type de script function verif_form(formulaire){ if(formulaire.nom.value == ""){ alert('vous avez oublié de saisir votre nom !'); return false; //on renvoie false et on sort de la fonction, le formulaire n'ets pas envoyé } ///// ci dessous tu peux rajouter d'autres champs a tester de la même façon if(.... return false ///// //et a la fin de la fonction: //si on arrive la c'est que tu est ok donc on renvoie true ce qui autorise l'envoi du formulaire return true; } </script> <div align=center> <form id=calcul name=calcul method=POST action=formmail.php onSubmit="retourn verif_form('calcul');"> <input type=hidden name=Objet value=Commande> <table> <br><br> <tr><td><b>Nom:</b></td> <td><input type=text name=nom size=45><br><td></tr> <tr><td><b>Prénom:</b></td> <td><input type=text name=Prénom size=45><br></td></tr> <tr><td><b>Adresse complète:</b></td> <td><input type=text name=Adresse_complète size=45><br></td></tr> <tr><td><b>Pays:</b></td> <td><input type=text name=Pays size=45><br></td></tr> <tr><td><b>Votre Email:</b></td> <td><input type=text name=Email size=45><br></td></tr> <tr><td><b>N° de telephone:</b></td> <td><input type=text name=N°_telephone size=45><br><br></td></tr> [...] <input type="submit" name="commander" value="commander" /> </form> <input type="button" value="Annuler" onClick="javascript:document.location.href='index.html'"/> <br>
( a savoir que j'ai deja 2 formulaires imbriqués, de calcul et d'envoi d'email)
<script type="text/javascript" language="javascript"> //mets les noms de balise en minuscules, et le type de script function verif_form(formulaire){ if(formulaire.nom.value == ""){ alert('vous avez oublié de saisir votre nom !'); return false; //on renvoie false et on sort de la fonction, le formulaire n'ets pas envoyé } ///// ci dessous tu peux rajouter d'autres champs a tester de la même façon if(.... return false ///// //et a la fin de la fonction: //si on arrive la c'est que tu est ok donc on renvoie true ce qui autorise l'envoi du formulaire return true; } </script> <!-- c'est onSubmit="return ... et pas retourn ensuite mets des " a toutes les valeurs des attributs des balises ex name="nom" pas d'accents ni de caracteres spéciaux dans les name= et pas de <input en dehors du formulaire --> <div align="center"> <form id="calcul" name="calcul" method="POST" action="formmail.php" onSubmit="return verif_form('calcul');"> <input type="hidden" name="Objet" value="Commande"> <table> <br><br> <tr><td><b>Nom:</b></td> <td><input type="text" name="nom" size="45"><br><td></tr> <tr><td><b>Prénom:</b></td> <td><input type="text" name="Prenom" size="45"><br></td></tr> <tr><td><b>Adresse complète:</b></td> <td><input type="text" name="Adresse_complete" size="45"><br></td></tr> <tr><td><b>Pays:</b></td> <td><input type="text" name="Pays" size="45"><br></td></tr> <tr><td><b>Votre Email:</b></td> <td><input type="text" name="Email" size="45"><br></td></tr> <tr><td><b>N° de telephone:</b></td> <td><input type="text" name="Num_telephone" size="45"><br><br></td></tr> [...] <input type="submit" name="commander" value="commander" /> <input type="button" value="Annuler" onClick="javascript:document.location.href='index.html'"/> <br> </form>