В назаметке Форма как средство от лени рассказано о блоке
Форма передается на вход серверной программы-обработчика или
направляется по указанному электронному адресу. В последнем случае она
может быть обработана вручную или программой, установленной на
компьютере получателя. Серверная программа-обработчик имеет
возможность представить результаты обработки прямо на гипертекстовой
странице (типичный пример программа-счетчик посещений).
Ручная или автоматическая обработка на обычном (не
серверном) компьютере такой возможности не имеет, но, тем не менее,
тоже бывает полезна. Примеры приводятся ниже, но сначала
завершим рассказ о специальных тегах, которые используются
только внутри блока
Внутри формы могут быть использованы следующие интерфейсные элементы:
Радиокнопки и кнопка для посылки формы в сеть были рассмотрены в назаметке Форма как средство от лени. Кратко об остальных элементах.
Браузер самостоятельно не обрабатывает нажатие на такую кнопку. Разработчик должен предусмотреть обработку при помощи программы (скрипта), написанной, например, на JavaScript.
Атрибуты:
Флажки или, как говорят, кнопки с независимой фиксацией, служат для многокомпонентного выбора.
Флажки не зависят один от другого. Их можно устанавливать и сбрасывать в любой комбинации.
Приведенная группа флажков кодируется так:
<FORM> <INPUT type=checkbox name=html> HTML-конструирование<BR> <INPUT type=checkbox name=js> JavaScript-конструирование<BR> <INPUT type=checkbox name=dhtml> DHTML-конструирование<BR> <INPUT type=checkbox name=alg checked> Алгоритмика<BR> </FORM>
Атрибуты:
Эта форма кодируется так:
<FORM> <INPUT type=text name=customer size=30 value="Иванов Петр Николаевич">BR> <INPUT type=text name=email size=30 value="ivanov@sch62.nsk.ru">BR> </FORM>
Атрибуты:
customer=Горбунков Семен Семенович email=ivanov@sch62.nsk.ru
Эта форма кодируется так:
<FORM> <TEXTAREA name=address rows=3 cols=24> 630090 Новосибирск, ул.Жемчужная, 6, средняя школа 62 </TEXTAREA> </FORM>
Начальное содержимое поля кодируется так же, как и содержимое блока PRE, то есть, текст выводится в поле в том виде, в каком он представлен в HTML-файле без автоматического форматирования.
Атрибуты:
address=630090 Новосибирск, ул.Жемчужная, 6, средняя школа 62
Меню функционально работает так же, как и радиокнопки, то есть, позволяет выбрать один вариант из нескольких альтернативных.
Эта форма кодируется так:
<FORM> Укажите автора:<BR><BR> Здесь лапы у елей дрожат на весу,<BR> Здесь птицы щебечут тревожно.<BR> Живешь в заколдованном диком лесу,<BR> Откуда уйти невозможно.<BR><BR> <SELECT name=autor> <OPTION>А.Пушкин</OPTION> <OPTION selected>М.Лермонтов</OPTION> <OPTION>В.Высоцкий</OPTION> <OPTION>О.Какаулин</OPTION> <OPTION>Б.Окуджава</OPTION> </SELECT< </FORM>
Атрибуты тега SELECT:
autor=М.Лермонтов
Атрибуты тега OPTION (этот тег задает позиции меню):
Эта кнопка приводит все интерфейсные элементы формы в начальное положение, то есть, то, которые они имели до воздействий пользователя.
Измените значения полей на следующем стенде и посмотрите, что
получится после нажатия кнопки Сброс (это кнопка
Ниже представлен пример с сайта Роботландии форма для тех,
кто хочет добавить на сайт свою ссылку. Это тот самый случай, когда
отправка формы по
В самом деле, огромного количества таких писем не бывает, зато при ручной обработке есть возможность выполнить работу над ошибками и, кроме того, правильным образом отформатировать полученную информацию.
Работа над такой формой в обязательном порядке завершается посылкой корреспонденту благодарственного письма, в котором сообщается о месте размещения информации на сайте с просьбой посмотреть на верстку материала.
Ниже приводится полный код этой формы.
<FORM action=mailto:kurs@robotland.botik.ru method=post enctype="text/plain"> <TABLE border=1 cellspacing=0 cellpadding=0 bgcolor=#DFD9BB> <TR><TD> <TABLE border=0 cellspacing=0 cellpadding=5> <TR valign=top> <TD><B>Заявка</B></TD> <TD> <INPUT type=reset name=reset value=Откатка> <INPUT type=submit name=friend value=Послать> </TD> </TR> <TR> <TD colspan=2><HR noshade size=1></TD> </TR> <TR> <TD>Фамилия</TD> <TD><INPUT type=text size=30 name=fam value=Иванов></TD> </TR> <TR> <TD>Имя</TD> <TD><INPUT type=text size=30 name=name value=Иван></TD> </TR> <TR> <TD>Отчество</TD> <TD><INPUT type=text size=30 name=father value=Иванович></TD> </TR> <TR> <TD>Город</TD> <TD><INPUT type=text size=30 name=sity value=Луховицы></TD> </TR> <TR> <TD>Учебное заведение</TD> <TD><INPUT type=text size=30 name=school value="Школа 1"></TD> </TR> <TR> <TD>Web-адрес</TD> <TD><INPUT type=text size=30 name=web value="http://come.to/school1"></TD> </TR> <TR> <TD>E-mail</TD> <TD><INPUT type=text size=30 name=email value="ivan@come.to"></TD> </TR> <TR> <TD>Почтовый адрес</TD> <TD><INPUT type=text size=30 name=address value="152400, г.Луховицы, ул.Пушкина, д.58"></TD> </TR> <TR> <TD>Краткая информация</TD> <TD><TEXTAREA name=text rows=4 cols=24></TEXTAREA></TD> </TR> </TABLE> </TD></TR> </TABLE> </FORM>
После отправки формы в роботландском ящике
friend=Послать fam=Иванов name=Иван father=Иванович sity=Луховицы school=Школа 1 web=http://come.to/school1 email=ivan@come.to address=152400, г.Луховицы, ул.Пушкина, д.58 text=Мы, учителя информатики языкового лицея, хотим пообщаться с учителями, использующими продукты Роботландии в своей работе.
Если вы директор крупного электронного магазина, то без серверных программ вам, конечно, не обойтись.
Как правило, интернет-магазин (как программа) имеет две части:
клиентскую и серверную. Клиентская часть обслуживается скриптом,
вмонтированным в
Обработка данных заключается в проверке корректности, занесении их в общую базу данных, отправлении сообщений бухгалтеру (принять деньги) и указаний оператору (завернуть товар в плотную бумагу и отнести на почту).
Кстати, CGI расшифровывается как Common Gateway Interface. То есть, под сокращением CGI понимают описание структуры информации, ее вид, в котором она следует от клиента к серверу и обратно. Имеется в виду, не сетевые протоколы, а логическое представление данных (для формы это пары типа имя=значение).
Если размах бизнеса не велик, то реально обойтись без автоматической обработки данных на сервере. Можно принимать формы, посланные заказчиками с вашей гипертекстовой странички, и обрабатывать их вручную или с помощью какой-нибудь программы-помощника. Ручной контакт бывает приятнее шаблонной вежливости автоматического обработчика (вам напишут Дорогой Иван, а не Уважаемый(ая) Сидоров!).