Создание ссылки электронной почты с динамически сгенерированным телом с помощью html5 & javascript - PullRequest
3 голосов
/ 26 января 2012

Пытаюсь создать ссылку для создания электронного письма для отправки информации пользователю, тело которого необходимо заполнить данными, сгенерированными функцией javascript, и надеюсь, что кто-то может помочь.

ИдеальноЕсли бы я мог заменить «body_blurb» ниже на строку, возвращаемую из функции javascript, вызываемой во время нажатия, это было бы идеально.

<A HREF="mailto:you@yourdomain.com?subject=Data&body=body_blurb">e-mail data</a>

Оцените ваше время

Ответы [ 3 ]

5 голосов
/ 26 января 2012

Я только что назначил идентификатор для ссылки здесь, но вы можете создать что-то более общее, если хотите. После того, как вы создали обработчик onclick, вы можете получить доступ к URL с помощью href. Установите это на то, что вы хотите.

http://jsfiddle.net/f3ZZL/1

var link = document.getElementById('email');
link.onclick = function() {
    this.href = "mailto:you@yourdomain.com?subject=Data&body=";
    this.href += getBody();
};

function getBody() {
    return 'HelloWorld';
}
1 голос
/ 12 декабря 2013

Вот метод без спама

var link = document.getElementById('email');

link.onclick = function() {
    var name = "you";
    var domain = "yourdomain.com";
    var linker = "mailto:" + name + '@' + domain + "?subject=Data&body=";
    linker += getBody();
    document.location(linker);
};

function getBody() {
    return 'HelloWorld';
}

Fiddle

0 голосов
/ 26 января 2012

На самом деле вам не нужно устанавливать значение href.Что вы на самом деле пытаетесь сделать, это отправить браузер по URL-адресу mailto:: href - всего лишь средство для достижения этой цели.

Оставьте пустым href и сделайте ссылку onClick обработчик.В onClick введите браузеру URL-адрес mailto: (после того, как вы создадите его с помощью переменной).Престо, готово.

...