Forum de discussion
Forum « Programmation Javascript » (archives)
Re: email reformaté en csv
Envoyé: 10 octobre 2003, 9h25 par Oznog
Avec le "mailto" tu as la possibilité de construire tout le courriel à partir d'un simple Javascript imbriqué dans un hyperlien HTML. Et bien sûr tu ne met pas de bouton soumettre à ton formulaire.
<a href="#" onclick="javascript:window.location.href='mailto:?to=ton@Email.com&subject=Sujet%20du%20message&body='+document.monForm.nom.value+';'+document.monForm.prenom.value+';'+document.monForm.email.value;"> Test de mailto </a>
C'est aussi possible en utilisant un formulaire fantôme (hidden) mais les données sont envoyé non pas par courriel mais à une second page. J'en parle car c'est aussi pratique (par exemple simuler l,envoie de valeur en méthode POST).
Tu aura le résultat suivant, quand même boucoup plus facile à gérer :
maVarCachee=toto;titi;toto@azerty.com
Premièrement il te faut le formulaire caché.
<form name="monFormCache" action="form_submit.htm" method="GET">
<input type="hidden" name="maVarCachee" value="" >
</form>
C'est elle qui va être "soumise" au lieu du formulaire visible. À l'aide de cette fonction qui force la soumission du formulaire caché mais aussi construit la variable.
<script type="text/javascript" language="javascript">
function twEnvoie(_nom,_prenom,_email) {
// Assignation de la valeur
document.monFormCache.maVarCachee.value = _nom + ';' + _prenom + ';' + _email;
// Soumission du formulaire
document.monFormCache.submit();
}
</script>
Maintenant il ne reste qu'à faire l'apelle de cette fonction, lorsque le visiteur clic sur le bouton envoyer du formulaire visible que voiçi (question de bien voir les noms de champ) :
<form name="monForm" action="form_submit.htm" method="get" >
<input type="text" name="nom">
<input type="text" name="prenom">
<input type="text" name="email">
<input type="submit" name="Submit" onclick="twEnvoie(this.form.nom.value,this.form.prenom.value,this.form.email.value); return false;" value="Envoyer">
</form>
Comme tu vois, je capture le clic, "onclick", et j'envois à "twEnvoie" les trois champ de saisie. SANS OUBLIER d'annuler l'envoie de ce formulaire visible (return false);
Ciao
Oznog
Réponses
|