Bonjour,
Je viens de créer une page avec un formulaire. N'ayant jamais fait çà, je suis parti d'un modèle récupéré sur le net (code AS2 + modele php)
Mon problème se situe au moment de l'envoie du formulaire. Lorsque l'on clique sur le bouton d'envoie, çà marche puisque je le reçois bien sur ma boite mail mais le formulaire ne se réinitialise pas. Dans le code y'a aussi une partie qui indique un message d'erreur lorsque les champs ne sont pas remplies correctement et là encore çà ne marche pas.
Voici mon code AS2 :
import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.Button;
// On référence les occurences de compos pour profiter du typage strict
var Nom:TextInput = this.case_nom;
var Email:TextInput = this.case_email;
var Message:TextInput = this.case_message;
var Info:TextArea = this.case_info;
var Envoyer:Button = this.bout_envoyer;
// Initialisation des compos
Info["depthChild0"]._visible = false; // hack pour remplacer les 4 lignes ci-dessus
Info.setStyle("color", "0xB13501");
Info.setStyle("fontStyle", "italic");
Info.label.selectable = false;
// Ordres de tabulation
Nom.tabIndex = 1;
Email.tabIndex = 2;
Message.tabIndex = 3;
Envoyer.tabIndex = 4;
var nom:String;
var email:String;
var commentaire:String;
// Fonctions outils
function afficherEnSortie(pChaine:String):Void
{
Info.text = pChaine;
}
function reinitFormulaire():Void
{
Nom.text = Email.text = Message.text = "";
}
function validerFormulaire ():String
{
nom = Nom.text;
email = Email.text;
commentaire = Message.text;
var erreurs:String = "";
if (nom == "") erreurs += "Merci de remplir le champ 'nom'" + newline;
if (email == "") erreurs += "Merci de remplir le champ 'email'" + newline;
else
{
var atIndex:Number = email.indexOf("@");
var dotIndex:Number = email.indexOf(".", atIndex);
trace(atIndex + " " + dotIndex);
if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
erreurs += "L'email n'est pas valide" + newline;
}
return erreurs;
}
function formerMessageText ():String
{
var message:String = "Formulaire Site Internet :";
message += "Origine : " + this._url + "\r\n";
message += "Nom : " + nom + "\r\n";
message += "Adresse email : " + email +"\r\n";
if (commentaire != "")
message += "Message :\r\n";
message += commentaire;
return message;
}
function formerMessageHtml ():String
{
var message:String = "<html><head><style type='text/css'> p{font: 12px Arial} </style></head><body>";
message += "<h4>Formulaire Site Internet : </h4>";
message += "<p>Origine : " + this._url + "</p>";
message += "<p>Nom : " + nom + "<br />";
message += "Adresse email : <a href='mailto:" + email + "'>" + email +"</a></p>";
if (commentaire != "")
message += "<p><u>Message :</u><br />";
message += commentaire;
message += "</p></body></html>";
return message;
}
function envoyerMail ():Void
{
Envoyer.enabled = false;
var envoyeur:LoadVars = new LoadVars();
var receveur:LoadVars = new LoadVars();
envoyeur.sujet = "Formulaire";
envoyeur.messageText = formerMessageText ();
envoyeur.messageHtml = formerMessageHtml ();
envoyeur.expediteur = prenom + " " + nom;
envoyeur.mailReponse = email;
receveur.onLoad = onMailEnvoye;
envoyeur.sendAndLoad("php/envoyer_mail.php", receveur, "POST");
afficherEnSortie("Envoi en cours...");
}
function onMailEnvoye (pSuccess:Boolean):Void
{
Envoyer.enabled = true;
if (!pSuccess)
{
afficherEnSortie("Problème avec le script PHP.");
}
else if (this.erreurPHP == "")
{
afficherEnSortie("L'envoi s'est terminé avec succès.");
reinitFormulaire();
}
else
{
afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
}
}
Merci de votre aide par avance.
Je viens de créer une page avec un formulaire. N'ayant jamais fait çà, je suis parti d'un modèle récupéré sur le net (code AS2 + modele php)
Mon problème se situe au moment de l'envoie du formulaire. Lorsque l'on clique sur le bouton d'envoie, çà marche puisque je le reçois bien sur ma boite mail mais le formulaire ne se réinitialise pas. Dans le code y'a aussi une partie qui indique un message d'erreur lorsque les champs ne sont pas remplies correctement et là encore çà ne marche pas.
Voici mon code AS2 :
import mx.controls.TextInput;
import mx.controls.TextArea;
import mx.controls.Button;
// On référence les occurences de compos pour profiter du typage strict
var Nom:TextInput = this.case_nom;
var Email:TextInput = this.case_email;
var Message:TextInput = this.case_message;
var Info:TextArea = this.case_info;
var Envoyer:Button = this.bout_envoyer;
// Initialisation des compos
Info["depthChild0"]._visible = false; // hack pour remplacer les 4 lignes ci-dessus
Info.setStyle("color", "0xB13501");
Info.setStyle("fontStyle", "italic");
Info.label.selectable = false;
// Ordres de tabulation
Nom.tabIndex = 1;
Email.tabIndex = 2;
Message.tabIndex = 3;
Envoyer.tabIndex = 4;
var nom:String;
var email:String;
var commentaire:String;
// Fonctions outils
function afficherEnSortie(pChaine:String):Void
{
Info.text = pChaine;
}
function reinitFormulaire():Void
{
Nom.text = Email.text = Message.text = "";
}
function validerFormulaire ():String
{
nom = Nom.text;
email = Email.text;
commentaire = Message.text;
var erreurs:String = "";
if (nom == "") erreurs += "Merci de remplir le champ 'nom'" + newline;
if (email == "") erreurs += "Merci de remplir le champ 'email'" + newline;
else
{
var atIndex:Number = email.indexOf("@");
var dotIndex:Number = email.indexOf(".", atIndex);
trace(atIndex + " " + dotIndex);
if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
erreurs += "L'email n'est pas valide" + newline;
}
return erreurs;
}
function formerMessageText ():String
{
var message:String = "Formulaire Site Internet :";
message += "Origine : " + this._url + "\r\n";
message += "Nom : " + nom + "\r\n";
message += "Adresse email : " + email +"\r\n";
if (commentaire != "")
message += "Message :\r\n";
message += commentaire;
return message;
}
function formerMessageHtml ():String
{
var message:String = "<html><head><style type='text/css'> p{font: 12px Arial} </style></head><body>";
message += "<h4>Formulaire Site Internet : </h4>";
message += "<p>Origine : " + this._url + "</p>";
message += "<p>Nom : " + nom + "<br />";
message += "Adresse email : <a href='mailto:" + email + "'>" + email +"</a></p>";
if (commentaire != "")
message += "<p><u>Message :</u><br />";
message += commentaire;
message += "</p></body></html>";
return message;
}
function envoyerMail ():Void
{
Envoyer.enabled = false;
var envoyeur:LoadVars = new LoadVars();
var receveur:LoadVars = new LoadVars();
envoyeur.sujet = "Formulaire";
envoyeur.messageText = formerMessageText ();
envoyeur.messageHtml = formerMessageHtml ();
envoyeur.expediteur = prenom + " " + nom;
envoyeur.mailReponse = email;
receveur.onLoad = onMailEnvoye;
envoyeur.sendAndLoad("php/envoyer_mail.php", receveur, "POST");
afficherEnSortie("Envoi en cours...");
}
function onMailEnvoye (pSuccess:Boolean):Void
{
Envoyer.enabled = true;
if (!pSuccess)
{
afficherEnSortie("Problème avec le script PHP.");
}
else if (this.erreurPHP == "")
{
afficherEnSortie("L'envoi s'est terminé avec succès.");
reinitFormulaire();
}
else
{
afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
}
}
Merci de votre aide par avance.