Отправка E-mail с сайта

Рейтинг: 1Ответов: 1Опубликовано: 20.06.2011

Имеется сайт на Народ.ru. На сайте есть страничка Заказы, где производиться заказ услуг по выполнению работы. Есть форма для заполнения заказа (поля - email - кто заказал, name - тема заказа, zakaz - сам текст заказа, что нужно). Нужно реализовать содержимое заполненных форм по Email.

Я перепробовал кучу скриптов, но ничего не вышло... Яндекс открывает страницу создания нового письма, и в строку "Кому", вставляет всю введенную ранее в форму информацию... Хотя по идее, по нажатию кнопки отправить должна открыться почтовая программа пользователя и поля письма "Кому", "Тема", "Сообщение", должны быть автоматически заполнены данными...

Как это реализовать на самом деле? Т.е. правильно) Спасибо.

<FORM NAME="mailer" METHOD="post" ENCTYPE="text/plain">
Email:<br>
<INPUT TYPE="text" NAME="email" size="24"><br>
Тема или название работы:<br>
<INPUT TYPE="text" NAME="Subject" size="24"><br>
Текст задания:<br>
<TEXTAREA NAME="zadanie" COLS="40" ROWS="6">
</TEXTAREA>
<br>
<INPUT TYPE="submit" VALUE="Отправить">
<INPUT TYPE="reset" VALUE="Сброс">
</FORM>

<SCRIPT LANGUAGE="JavaScript">
function checkIt () {
    if (document.forms.mailer.email.value!= "") {
    } else {
        alert ("Пожалуйста, введите свой Email.");
        document.forms.mailer.email.focus ();
        return false;
    }
    if (document.forms.mailer.Subject.value!= "") {
    } else {
        alert ("Пожалуйста, введите название или тему работы:");
        document.forms.mailer.Subject.focus ();
        return false;
    }
    if (document.forms.mailer.zadanie.value!= "") {
        return true;
    } else {
        alert ("Пожалуйста, напишите задание работы.");
        document.forms.mailer.zadanie.focus ();
        return false;
    }
}

function msg () {
    document.mailer.action = "mailto:Leshij-2005@yandex.ru"
    mailtoandSubject = (('?Subject=' + document.mailer.Subject.value) + '&Body=' + document.mailer.zadanie.value);
}
</SCRIPT>

Что здесь не так?...

Ответы

▲ 2Принят

Очень много лишнего.

Уберите onsubmit. можно заменить на. Переменная mailtoandSubject у вас не объявлена как глобальная. Имхо, она вообще не нужна. Проставьте id (Форма: id="mailer", Subject: id="mailer-subject", zadanie: id="mailer-zadanie")

function msg () {
  document.getElementById('mailer').action = 
    "mailto:Leshij-2005@yandex.ru"
    + '?Subject=' + document.getElementById('mailer-subject').value
    + '&Body=' + document.getElementById('mailer-zadanie').value;
  return false;
  }

UPD: вот вам 100% рабочий код) Адаптируете, надеюсь - только id заменить

<html><head></head><body>
<script type="text/javascript"> 
function msg1() {
    document.getElementById('f1').action = 'mailto:Leshij-2005@yandex.ru' + '?subject='+encodeURIComponent(document.getElementById('i1').value) + '&body='+encodeURIComponent(document.getElementById('i2').value);
    alert(document.getElementById('f1').action);
    return false;
    }
</script>
<form method="post" action="" id="f1">
<input id="i1" value="" />
<input id="i2" value="" />
<input type="submit" value="ok" />
</form>
</body>
</html>

ЗЫ: 'Subject' != 'subject', 'Body' != 'body'