Электронные издания
Шрифт:
Значение параметра TYPE="RESET" (сброс, возврат в исходное состояние) или же "SUBMIT" (запустить, инициализировать выполнение) соответственно отменяет все введенные в форму значения или же пересылает содержимое формы на сервер. В обоих случаях в форме отображаются кнопки с соответствующими надписями. Надписи на кнопках можно русифицировать, задав значение параметра VALUE равным Отмена или же OK (Пересылка) соответственно. Возможно использование значения параметра TYPE="IMAGE". В этом случае создается графическое изображение, аналогичное кнопке SUBMIT. Адрес изображения задается стандартным параметром SRC=<URL файла-изображения>, а способ выравнивания – значением параметра ALIGN.
Иногда вместо тэга INPUT используется контейнер <SELECT> и </SELECT>, который позволяет организовать
<SELECT NAME="имя поля" SIZE=[число видимых элементов списка] >
<OPTION VALUE="значение 1-го элемента"> значение элемента
<OPTION VALUE="значение 2-го элемента"> значение элемента
<OPTION VALUE="значение 3-го элемента"> значение элемента
</SELECT>Если требуется возможность выбора нескольких значений элементов списка, то внутри тэга <SELECT> после параметра SIZE используется дополнительный параметр MULTIPLY (множественный). Ему не требуется присваивать какого-либо значения, само его наличие в пределах тэга является достаточным.
Внутри формы может использоваться и еще один контейнер, а именно с тэгом <TEXTAREA>. Он обеспечивает ввод многострочного текста в прямоугольное окно. Параметры этого тэга: NAME – для задания имени соответствующей переменной, ROWS и COLS – для определения размера прямоугольного окна, внутри которого набирается нужный текст. Кроме того, может быть задан текст, выводимый внутри этого окна по умолчанию.
В качестве примера можно остановится на форме сервера www.rambler.ru, которая выводится на браузере клиента, желающего получить бесплатный почтовый адрес. На рис. 2.13 представлена такая форма в несколько усеченном формате. Как видно на рисунке, большинство полей – текстовые однострочные, задаваемые тэгом INPUT и значениями параметра TYPE, равным TEXT (E-mail, "Имя", "Фамилия", "Возраст") и PASSWORD ("Введите пароль" и "Подтвердите пароль"). В состав формы включены 2 переключателя: для указания пола клиента и его юридического статуса (физическое лицо либо представитель юридического лица). Для сокращения размеров формы (она и так получилась довольно большой) в ней используются 4 списковых окна с одним единственным видимым элементом. Эти окна реализуются с помощью тэга-контейнера <SELECT> со значением параметра SIZE=1.Наконец, в форме предусмотрена область для ввода текста, задаваемая с помощью тэга <TEXTAREA>. Размер этой области: 6 строк и около 100 столбцов. По умолчанию в этой области выводится текст юридического соглашения с клиентом бесплатной электронной почты, указывающий права и обязанности сторон. Клиент не может изменять этот текст, он должен его прочесть и принять условия соглашения, изложенные в этом тексте, если намерен получить бесплатный почтовый адрес на этом сервере. В конце формы предусмотрена кнопка типа SUBMIT, представленная в виде графического изображения с надписью "Зарегистрироваться". Если клиент согласен с текстом соглашения, он нажимает кнопку "Зарегистрироваться" и получает бесплатный почтовый адрес на сервере RAMBLER.
2.9. Понятие о динамическом HTML и его компонентах
Динамический HTML (DHTML) это не какой-то особый язык, а термин, который применяется для обозначения HTML-страниц с динамически изменяющимся содержимым. Такие страницы основаны на использовании помимо языка HTML каскадных таблиц стилей CSS (Cascade Style Sheets) и языка сценариев JavaScript или VBScript. Связь этих компонентов осуществляется с помощью так называемой объектной модели документа DOM (Document Object Model). При этом HTML-документ приобретает новое качество, а именно возможность динамического изменения без перезагрузки страницы.
С помощью каскадных таблиц стилей определяется внешний вид документа: шрифт, разбивка на абзацы, цвет фона и шрифта, причем свой вариант отображения в окно браузера с их помощью можно установить для содержимого каждого из контейнеров (тэгов).
Язык программирования JavaScript разработан фирмой Netscape для создания интерактивных HTML-документов. Язык позволяет разрабатывать как серверные приложения, так и клиентские приложения. Первые выполняются на Web-сервере, а вторые – браузером клиентского компьютера. Для обоих типов приложений используется общее ядро, включающее стандартные объекты и конструкции, и дополнения для конкретных приложений. Сказанное иллюстрируется рис. 2.14. Как видно на рисунке в состав ядра помимо переменных и функций LiveConnect входит средство взаимодействия с Java-апплетами. Клиентские приложения непосредственно встраиваются в HTML-страницы и интерпретируются браузером по мере отображения элементов страницы, серверные же приложения предварительно компилируются для увеличения производительности.
Язык JavaScript используется на клиентской стороне для создания HTML-документов с помощью сценариев, в том числе и совместно с CSS (каскадными таблицами стилей), для оперативной проверки HTML-форм до их передачи на сервер для последующей обработки и для взаимодействия с пользователем в процессе выполнения приложений этого языка. Трудно найти в сети Интернет хотя бы одну страницу, не содержащую операторов языка JavaScript. Чтобы браузер смог отобразить разработанную Web-страницу именно в том виде, каком она задумывалась, на странице обычно помещают вызов функции JavaScript для идентификации типа используемого браузера и его версии.
Встраивание сценариев JavaScript в HTML-страницу можно осуществить одним из 4 способов:
✓ заданием операторов языка JavaScript внутри контейнера <Script> языка HTML;
✓ заданием имени файла языка JavaScript в параметре SRC тэга <Script>;
✓ использованием выражений языка JavaScript в качестве значений параметров HTML-тэгов;
✓ путем определения обработчика событий в тэге HTML.
Первые два способа достаточно понятны и не нуждаются в дополнительных комментариях. Если переменные языка JavaScript желательно использовать в качестве параметров, то их следует заключать в фигурные скобки и размещать между символом амперсанда (&) и точкой с запятой. Например, в тэге<TABLE ALIGN=LEFT WIDTH=40% BORDER=5>
значение параметра WIDTH можно сделать изменяемым, заменив константу 40% переменной языка JavaScript, как это сделано в выражении, представленном ниже: <TABLE ALIGN=LEFT WIDTH="&{JWidth};" BORDER=5>,
причем значение переменной Jwidth должно быть предварительно определено. Для совместимости с языками сценариев в элементы форм языка HTML (см. разд. 2.8) были введены специальные параметры обработки возникающих событий. Простейшим событием может быть нажатие левой кнопки мыши Click. Значениями этих параметров могут служить операторы языка JavaScript. Соответствующий любому событию параметр будет иметь дополнительную приставку on, например, событию Click будет соответствовать параметр onClick. Обработка событий задается в параметрах форм для того, чтобы проверить введенную в форму информацию до ее пересылки на сервер.
Обсуждение самого языка JavaScript потребовало бы отдельной главы. Поэтому мы ограничимся приведенными в данном коротком разделе сведениями, а всех желающих глубже ознакомиться с ядром JavaScript отсылаем к многочисленным пособиям по этому языку, например, [27].
Отметим, что фирма Microsoft разработала язык создания сценариев VBScript (Visual Basic Script сценарии языка Visual Basic), функциональные возможности которого ничем не отличаются от JavaScript. Определенным достоинством этого языка является возможность использования с небольшими доделками ранее написанных процедур на языке Visual Basic.2.10. Расширяемый язык разметки XML
2.10.1. Общая характеристика XML
Относительно недавно появился новый инструмент для форматирования Web-страниц – язык XML (eXtensible Markup Language расширяемый язык разметки). Этот компактный язык, разработанный Консорциумом W3C (www.w3.org) специально для того, чтобы им можно было в дальнейшем заменить HTML. Язык XML не имеет никакого отношения к графическим языкам или к средствам визуальной разметки документов. Сам по себе XML не предоставляет даже тех средств форматирования, которые есть в HTML. Строго говоря, XML не язык, а метаязык, позволяющий создавать специализированные системы логической разметки для любых разновидностей документов.