Un lien mailto qui me génère des erreures lorsqu'il y a trop d'informations dans

Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005 - 2 sept. 2005 à 08:49
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005 - 2 sept. 2005 à 15:28
Bonjour!

Pour commencer, désolé si je ne poste pas au bon endroit ou si cette question à déja été posée, j'ai déja fait une recherche infructueuse...

Bon, voilà mon problème. Je suis débutant en javascript, et en plus, pour un formulaire plutôt long (une vingtaine de question si pas plus), je dois l'envoyer par mail.
Le problème, c'est qu'il faut que le mail soit lisible sans un programme supplémentaire. Alors ce que j'ai fait, c'est au lieu d'un formulaire classique html action post, j'ai généré un champ supplémentaire dans mon formulaire, de type hidden, dans lequel je stocke le résultat de tous les autres champs du formulaire avec mise en page, c'est-à-dire des carriage return, des titres et compagnie, tout ça au format HTML. Sur mon bouton "Envoyer", j'ai simplement fait un truc tout bête... Je lance une fonction javascript qui ne contient qu'un window.location='mailto:monadresse?subject=questionnaire&body='document.monformulaire.monchamp; et ça marche, lorsque le formulaire est vide.

Maintenant, le problème. Lorsque j'envoie le formulaire vide, les information s'envoient bel et bien, pas de problème de ce côté là. Mais lorsque je commence à remplir le questionnaire, dès qu'il y a quelques informations, j'ai une erreur avec internet explorer (client de messagerie mal installé) et si je rempli un peu plus, j'ai un syntax error à ma fonction d'envoi de mail... Là, je comprends vraiment pas...

Une âme charitable dégnerait éclairer ma pauvre lanterne qui s'affaibli de jour en jour? J'ai cherché du mieux que j'ai pu, et là, je sèche...

Merci d'avance!

Cordialement,

Michel

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2005 à 12:26
Bonjour,

window.location='mailto:monadresse?subject=questionnaire&body='
+escape(document.monformulaire.monchamp);

peut-être ?
Cordialement. Bul. Site[mailto:marcelBultez@Tiscali.fr Mail]
0
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 13:20
Bonjour!

Merci de votre réponse, mais hélas, ça ne fonctionne pas, et c'est de ma faute.
Effectivement, j'ai oublié un détail... Mon code source ressemble plutôt à :

window.location='mailto:monadresse?subject=questionnaire&body='+document.monformulaire.monchamp.value;

J'avais oublié ce petit détail, ce qui fait que quand j'utilise escape(document.monformulaire.monchamp.value) j'ai un "erreur de syntaxe". Sinon, tout ce que j'ai dans mon mail est "[object]"...

Egalement, ce midi, chez moi, j'ai pu tester sur mon PC personnel, et j'ai remarquer qu'avec Mozilla Firefox mon mailto ne fonctionne simplement pas, et avec Internet Explorer et Thunderbird, ça marche... Donc, ce que je ne comprends pas, c'est que le problème survint seuleument avec Internet Explorer et Outlook (private joke: peut-être ne sont-ils pas compatible )... Et je cherche encore pourquoi mon mailto ne marche pas avec Firefox...

Merci quand même!

Cordialemenet,

Michel
0
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 13:22
[edit]

J'oubliais: lorsque je passe mon champ de hidden à textarea, je remarque que toutes les informations sont présentes, le problème vient donc bel et bien de mon window.location=mailto...
0
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 14:06
RE-Edit (embêtant qu'il n'y ait pas de bouton edit... Ou je suis aveugle...)

Encore un test que j'ai fait (c'est fou ce que l'on peut apprendre sur un langage quand on est dans la m...): remplacer tous les espaces de mon champ par des %20. C'est chouette, j'ai appris à utiliser replace, mais ça marche pas mieux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2005 à 14:44
c'est de ma faute aussi, j'aurais du voir ...
window.location='mailto:monadresse?subject=questionnaire&body='
+escape(document.monformulaire.monchamp.value);
va remplacer tous les caractères "génants" par leur equilavent en %??
espace en %20, " en %22, ' en %27, retour à la ligne en %0D%0A...
et c'est souvent ça qui provoque une erreur de syntaxe.
maintenant avec mozilla, thundebird.. "je ne sais pas" mais
avec Internet Explorer et Outlock Express, ça devrait marcher.
Cordialement. Bul. Site[mailto:marcelBultez@Tiscali.fr Mail]
0
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 15:18
Ah d'accord! Et bien après analyse, hélas, ça ne fonctionne toujours pas...

En regardant un peu mieux les effets, j'ai pu remarquer quelque chose... Est-ce possible que le body du mailto soit limité? C'est dès que mon mail atteint une certaine taille en caractère que j'obtiens l'erreur "Client de messagerie par défaut mal installé", et si je pousse encore le bouchon pour ajouter des caractères, j'obtiens ma fameuse erreur "Syntax Error", d'ou la question existentielle que je me pose...
0
Michel W Messages postés 6 Date d'inscription vendredi 2 septembre 2005 Statut Membre Dernière intervention 2 septembre 2005
2 sept. 2005 à 15:28
EDIT

Je viens de regarder, j'ai 2'514 caractères (avec %20 à la place des espaces, etc.) à envoyer uniquement pour le libellé des questions (style: Nom et prénom : )... Donc 2'514 caractères sans les réponses...
0
Rejoignez-nous