|
||||||||||||
|
||||||||||||
E-mail формa |
||||
|
|
|
Данная форма реализуется следующим кодом:
<FORM NAME="mailer" METHOD="post" ACTION="" ENCTYPE="text/plain" onSubmit="(document.mailer.action += mailtoandSubject)"> <table border=1 align=center cellspacing=1 cellpadding=2> <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;. Именно это значение уведомляет об успешном окончании проверки и завершает проверку полей формы, так что решать, где его поставить - Вам.
Такие формы использует почтовую программу пользователя и, если она не настроена, ничего не отправится.
Обычно на страницах Web-сайтов есть ссылки, щелкнув на которых можно автоматически запустить почтовую программу и адрес получателя, указанный в теге <A> письма подставится автоматически. Для этого он должен выглядеть так:
<A href=mailto:you@firm.kiev.ua>.
Для того чтобы подставить еще тему и текст сообщения, а также адреса для отсылки копий отправляемого письма, нужно, чтобы HTML-текст имел примерно следующий вид:
Пишите
<A href="mailto:you@firm.kiev.ua?
subject=Тема письма
&cc=c1@firm.kiev.ua,c2@firm.kiev.ua
&bcc=b1@firm.kiev.ua,b2@firm.kiev.ua
&body=Текст самого письма">
письма</A>
Это может быть полезно в том случае, когда в почтовой программе настроена фильтрация сообщений по содержимому поля Subject и при посылке письма оно должно иметь вполне определенный вид или просто для того, чтобы не затруднять пользователя набором текста, например, в рейтинговых опросах или системах голосования.
seo & website usability | inet | os faq | hardware faq | memory | video | cpu | hdd | mainboard faq | printer & scaner | modem | mobiles | hackzone |
po gonn © 2005 "JULI'S BEEHIVE" |
|
![]() |
|