Идёт загрузка страницы...

htp://aptem.net.ru





    E-mail формa.

    Для того чтобы отправить сообщение по электронной почте не обязательно набирать его непосредственно в почтовой программе, а можно это сделать, воспользовавшись формами на странице. Кроме этого можно еще организовать и проверку полей формы, на тот случай, если пользователь решил поиграться.

    Имя:
    Тема:
    Сообщение:

    Данная форма реализуется следующим кодом:

    <FORM NAME="mailer" METHOD="post" ACTION="" ENCTYPE="text/plain" onSubmit="(document.mailer.action += mailtoandSubject)">
    <table border=2 align=center cellspacing=1 cellpadding=2 BgColor=#000FFF>
    <tr><td><FONT size="2" color="#FFFFFF">Имя:</font></td>
    <td><INPUT TYPE="text" NAME="Name" size="24" onChange="msg(this.form)"></td></tr>
    <tr><td><FONT size="2" color="#FFFFFF">Тема:</font></td>
    <td><INPUT TYPE="text" NAME="Subject" size="24" onChange="msg(this.form)"></td></tr>
    <tr><td><FONT size="2" color="#FFFFFF">Сообщение:</font></td>
    <td><TEXTAREA NAME="Message" COLS=40 ROWS=6 onChange="msg(this.form)"></TEXTAREA></td></tr>
    <tr><td colspan=2 align=center><INPUT TYPE = "submit" VALUE = "Отправить" ONCLICK="return checkIt()">
    <INPUT TYPE=reset VALUE=" Сброс "></td></tr></table>
    </FORM>

    А это программа, которая будет проверять, заполнил ли пользователь все поля и отправлять форму:

    <SCRIPT LANGUAGE="JavaScript">
    function checkIt() {
    // функция проверки полей формы
    //-----------
    if (document.forms.mailer.Name.value != "") { // функция проверки поля Name
    } else {
    alert("\nОбласть \"Имя\" в форме. \n\nПожалуйста, введите свое имя.");
    // выводит сообщение, если поле Name не заполнено
    document.forms.mailer.Name.focus(); // возврашает курсор на поле Name
    return false;
    }
    //-----------
    if (document.forms.mailer.Subject.value != "") {
    // функция проверки поля Subject
    } else {
    alert("\nОбласть \"Тема\" в форме. \n\nПожалуйста, введите тему.");
    // выводит сообщение, если поле Subject не заполнено
    document.forms.mailer.Subject.focus(); // возврашает курсор на поле Subject
    return false;
    }
    //-----------
    if (document.forms.mailer.Message.value != "") {
    // функция проверки поля Message
    return true; // ВСЕ ОТЛИЧНО
    } else {
    alert("\nОбласть \"Сообщение\" в форме. \n\nПожалуйста, напишите сообщение.");
    // выводит сообщение, если поле Message не заполнено
    document.forms.mailer.Message.focus(); // возврашает курсор на поле Message
    return false;
    }
    //-----------
    }
    function msg() {
    // функция отправки
    document.mailer.action = "mailto:Ваша@почта.ua"
    mailtoandSubject = (('?Subject=' + document.mailer.Subject.value) + '&Body=' + document.mailer.Message.value);
    }
    </SCRIPT>

    Смените значение переменной Ваша@почта.ua на Вашу почту, куда будут приходить заполненные формы. Данная форма содержит поля ИМЯ, ТЕМА и СООБЩЕНИЕ. Разумеется, вы можете изменить названия этих полей, а также добавить/удалить новые строчки. При этом нужно будет внести некоторые изменения в программу проверки/отправки сообщения.

    Каждому полю формы присвоено определенное имя, которое задано атрибутом NAME. При нажатии на кнопку "Отправить" происходит вызов функции checkIt(). Если поле не заполнено выводиться окно с сообщением с кнопкой Ok, после нажатия на которую курсор переходит на незаполненное поле. Остальные функции проверки работают также (я разделил их вот таким комментарием //-----------, чтобы Вам было удобнее добавлять или удалять функции). Последняя функция должна содержать значение return true;. Именно это значение уведомляет об успешном окончании проверки и завершает проверку полей формы, так что решать, где его поставить - Вам.

    Такие формы использует почтовую программу пользователя и, если она не настроена, ничего не отправится.


Вернуться?

Перейти к разделу "Учебники по HTML"