Fonctionnement formulaire

Fermé
gite-ti-goudoul - 23 avril 2020 à 12:30
 gite-ti-goudoul - 23 avril 2020 à 14:50
Bonjour,

J'ai créé un formulaire sur le site de test https://gite-tigoudoul.bzh/testnew/contact-gite-tigoudoul.html
Rien ne va et je tourne en rond.

- pourquoi lorsque je ne remplis pas la case captcha (visible pour le test) je ne reçois pas de mail ?
- l'option required ne fonctionne pas.

Merci beaucoup pour votre aide.

Bien à vous,
Marie


Configuration: Macintosh / Safari 13.0.5

2 réponses

Bonjour,
"- pourquoi lorsque je ne remplis pas la case captcha (visible pour le test) je ne reçois pas de mail ? "
Quel doit être le rôle du Captcha? En général ça sert surtout à ça: interdire une validation automatique et être sûr que c'est bien une personne qui remplit le formulaire(et non un programme qui ne sait pas lire un captcha et est souvent utilisé pour les spams et autres ennuis possibles).
A voir plutôt avec votre script de captcha et l'utilisation que vous en faites.

Pour l'attribut "required" je pense(à vérifier) qu'il s'applique aux champs INPUT d'un formulaire.
Hors vous n'utilisez que des textarea qui sont faits pour indiquer des commentaires multi-lignes alors que vous n'avez justement aucun commentaire multi-lignes. Donc vous y gagnerez en utilisant des champs input surtout que vous pouvez définir plus précisément quelle types de valeurs peut-être entrée dans les champs(ex: des nombres uniquement pour un numéro de téléphone, un texte pour un prénom et donc interdire les chiffres etc...).
Cela peut aussi venir du fait que vous utilisez un placeholder. Comme il remplit par défaut le champ il est bien remplit et donc valide required par défaut; dans ce cas passez simplement le texte du placeholder dans le label qui justement sert à cela(indiquer ce que doit contenir le champ).

Vous pouvez vous aider de cette page(et les suivantes) pour correctement créer votre formulaire qui détaillent tout les éléments d'un formulaire et les attributs qu'ils peuvent avoir:
https://www.w3schools.com/html/html_forms.asp

edit:Après vérification required est bien possible pour un textarea, c'est donc du 2nd cas qu'il doit s'agir.
https://www.w3schools.com/tags/tag_textarea.asp

edit2:des détails sur l'utilisation de placeholder et required ici:
https://www.alsacreations.com/tuto/lire/1370-formulaire-html5-placeholder-required-pattern.html
0
gite-ti-goudoul
23 avril 2020 à 14:50
Merci beaucoup pour votre réponse rapide.
J'ai modifié le code en suivant vos conseils :

<form id="ContactForm" action="contact_process.php" method="post" novalidate="novalidate">
<div class="row">
<div class="col-xs-12 col-sm-6 form-group">
<label class="form" for="Email-firstname">Prénom *</label>
<input id="Email-firstname" name="Email-firstname" type="text" class="form-control" data-error="Veuillez saisir votre prénom" required>
</div>
<div class="col-xs-12 col-sm-6 form-group">
<label class="form" for="Email-lastname" class="control-label">Nom *</label>
<input id="Email-lastname" name="Email-lastname" type="text" class="form-control" data-error="Veuillez saisir votre nom" required>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-6 form-group">
<label class="form" for="Email-email">Email *</label>
<input id="Email-email" name="Email-email" type="email" class="form-control" data-error="Veuillez saisir un e-mail valide" required>
</div>
<div class="col-xs-12 col-sm-6 form-group">
<label class="form" for="Email-phone">Téléphone *</label>
<input id="Email-phone" name="Email-phone" type="tel" class="form-control" data-error="Veuillez saisir votre téléphone" required>
</div>
</div>
<div class="form-group">
<label class="form" for="Email-message">Votre demande</label>
<textarea id="Email-message" name="Email-message" rows="10" class="form-control" data-error="Veuillez formuler votre demande" required></textarea>
</div>
<div class="form-group">
<label class="form" for="Email-captcha">Anti-spam</label>
<input id="Email-captcha" name="Email-captcha" type="text" class="form-control" data-error="Veuillez formuler votre demande">
</div>

<div class="form-group">
<div class="checkbox">
<label class="form">
<input id="Email-subscribe" name="Email-subscribe" type="checkbox" value="OUI"> S'inscrire à la newsletter
</label>
</div>
</div>
<div>
<input id="Contact-form-submit" type="submit" class="btn btn-primary" value="Envoyer ma demande" style="margin-top: 20px !important;">
<p id="Email-result" class="form-result hidden"></p>
</div>
</form>

C'est correct maintenant au niveau de l'envoi d'email ou pas (captcha). Par contre "required" ne fonctionne toujours pas.

Bien à vous,
Marie
0