Accueil > Manip’s > Javascript > Envoyer simplement un message par un Mailto qui marche même avec (...)
Mailto
Envoyer simplement un message par un Mailto qui marche même avec IE
FORM, Button, Mailto
samedi 31 mars 2007, par
PROCEDURE CLASSIQUE
Marche parfaitement sous FIREFOX, mais envoie des champs vides sous IE
Voila comment contourner ce bogue IE et bénéficier en plus d’une mise en page sophistiquée du message posté.
RAPPELS
Pour envoyer très simplement un message à partir d’un navigateur à une adresse e-mail, il est courant de se servir du protocole MAILTO : reconnu par tous les navigateurs
Le Courrielleur par défaut de l’utilisateur est automatiquement reconnu, ouvert et le message est déposé dans la boite d’envoi
L’utilisateur n’a plus alors qu’à confirmer l’envoi, comme dans tout protocole de messagerie classique.
MISE EN OEUVRE
On propose donc de remplacer le bouton de soumission du formulaire (SUBMIT)
- Qui plante sous IE,
Par un simple bouton qui appelle la fonction Javascript "Envoyer()"
C’est à peine plus compliqué
- C’est la suite qui se corse un peu
FONCTION ENVOYER
Une fonction Javascript s’écrit dans un conteneur HTML délimité par 2 balises SCRIPT
Le coeur de la fonction Envoyer est une routine Javascript qui active un Hyperlien vers Mailto de cette façon
Il ne reste plus à définir les variables sujet et contenu
On remarque la fonction javascript escape qui convertit le texte en un langage compréhensible par le courielleur (par exemple les espaces sont remplacés par des %20)
Passons sur le sujet qui est facile à écrire puisqu’il n’admet pas les mises en forme
- var sujet="Sujet du message" ;
Le contenu est plus complexe, car il nécéssite un balisage HTML simplifié
EXEMPLE
- var contenu =
"<html>"+
"Docteur :" + F.Medecin.value +
"vers laboratoire : " + F.Laboratoire.value + "<br>" +
"Patient :<br>" + F.Nom_Patient.value + "<br>"+
"<b>Commentaire :</b> "+ F.Commentaire.value + "<br>"+
"<em>Dr HILD</em>"+
"</html >" ;
Voir en ligne : http://bluegyn.com/mailto/pma/
LES CONSEILS QUE L’ON PEUT DONNER :
En cas d’utilisation d’enrichissements HTML il est indispensable de baliser le contenu par :
Ne pas oublier d’échapper le contenu ( escape (contenu ) )
Evitez les diacritiques dans le message, ( accents : é à Oû etc...) ils provoquent des réactions imprévisibles ( même avec les entités HTML é
passe dans Thunderbird, mais plante Eudora
Messages
1. Envoyer simplement un message par un Mailto qui marche même avec IE, 31 mars 2007, 21:45, par BlueGYN
Pour reproduire exactement l’effet du Mailto classique, il suffit décrire
Soit F le formulaire et NOM le champ de saisie
Soit la fonction Envoyer( document.forms[’F’] )
Le contenu s’écrira
C’est ce qu’on peut faire de plus simple.