débutant / message d'envoi de formulaire
Bonjour à tous,
J'ai lu pas mal de cours bien documentés hier sur les fonctions de vérification de champs de formulaires traités d'autre part par un fichier PHP... Je sais aussi que PHP à lui seul peut gérer la vérification des champs et les messages d'envoi ou d'erreur sans d'ailleurs recourir à javascript, j'ai déjà fait.... Néanmoins dans le cas présent comme je ne veux surtout pas que les visiteurs à un moment ou un autre soient redirigés vers le fichier de traitement (recomandation.php) et que les messages d'erreur (ainsi que de confirmation, mais c'est là le problème) doivent s'afficher à l'endroit du formulaire le plus simplement du monde, je laisse mon fichier recomandation.php traiter le formulaire et j'utilise javascript pour la vérification des champs.... jusque là, tout va bien... le formulaire est correctement traité, le visiteur est effectivement invité à revenir sur les champs s'il a zappés et la fonction function verification() que j'ai placée dans les balises <head></head> qui est appelée par un onsubmit dans les balises <form></form> fait son office de vérification.... MAIS rien ne confirme au visiteur qu'une fois tout ça ok le message est effectivement envoyé
et encore une fois, je ne veux pas que (comme dans votre formularie d'inscription, mais là, ça se justifie...) ce soit le fichier php qui se charge de la confirmation, parce que le message de confirmation doit impérativement apparaitre au niveau du formulaire sans redirection aucune... vous l'aurez compris
j'ai un moment pensé qu'on pouvait attribuer à l'évènement onsubmit deux fontions : function verification() + une fontion print... mais dans ce cas la fonciton print s'exécuterait même lorsque les champs ne sont pas ok non ?
> ma question est : est-ce qu'on peut compléter la fonction function verification() de façon à ce qu'elle traite ce problème et affiche un message tout simple genre : merci à vous / une fois le formulaire envoyé.
pour info
<script type="text/javascript" language="Javascript" >
<!--
function verification()
{
if(document.invitation.nomexp.value == "") {
alert("Veuillez entrer votre nom svp");
document.invitation.nomexp.focus();
return false;
}
else
if(document.invitation.maildest.value == "") {
alert("Veuillez entrer le mail du destinataire svp");
document.formulaire.prenom.focus();
return false;
}
else
if(document.invitation.maildest.value.indexOf('@') == -1) {
alert("Ce n'est pas une adresse electronique, verifiez la svp");
document.invitation.maildest.focus();
return false;
}
return true
}
//-->
</script>
et mon formulaire, dans cette template (et oui, c'est un tpl.... et je galère avec les templates php...aussi le recomander.php ne peut qu'être inclu dans les fichiers de configuration de l'entête et non directement dans la template elle-même de même qu'on ne peut pas inclure dans la template de code php type <echo=""> ) commence par :
<form action="" method="post" name="invitation" class="lientext" onSubmit="return verification()">
au fait, c'est un tout petit formulaire de recomandation, c'est pour ça qu'une redirection pour un truc aussi minus serait vraiment too much
merci à vous si vous avez une suggestion pour répondre à cette question ;)
le plus simplement possible, ça doit pas être un sujet de prise de tête...
et si c'est pour me répondre que seul PHP peut gérer ça, vous pouvez aller vous faire griller sous le soleil !
PS : j'étais en train de penser que je pourrais mettre le formulaire dans une petite iframe pour gérer confortablement l'affichage... mais il n'en est pas question non plus parce que y a des champs cachés dans le formulaire sensés récupérer l'url de la page pour l'envoyer, donc ce serait nul