E-mail форма на странице.

 

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

 

    Для этого вставьте следующий код на вашу страницу. А если вы используете Antenna Web Stydio, используйте компонент “VisualHtml”.

 

Формирует саму форму:

 

<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:Ваша@почта.
ru"
mailtoandSubject = (('?Subject=' + document.mailer.Subject.value) + '&Body=' + document.mailer.Message.value);
}
</SCRIPT>

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

 

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


1

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

Вот так выглядит E-mail форма и вы можете отправить мне сообщение, заодно проверите как она работает.



Hosted by uCoz