Гиперссылка в HTML-документах
1. 7 HTML Форми
Деякі WWW броузери дозволяють користувачеві, заповнивши спеціальну форму, що повертає отримане значення, виконувати деякі дії на вашому WWW-сервері. Коли форма інтерпретується WEB-броузером, створюється спеціальні екранні елементи GUI, такі, як поля введення, checkboxes, radiobuttons, що випадають меню, прокручувати списки, кнопки і т. д. Коли користувач заповнює форму і натискає кнопку "Підтвердження" (SUBMIT - спеціальний тип кнопки, який задається при описі документа), інформація, введена користувачем у форму, надсилається HTTP-сервера для обробки та передачі іншим програмам, що працюють під сервером, відповідно до CGI (Common Gateway Interface) інтерфейсом.
Коли ви описуєте форму, кожен елемент введення даних має тег <INPUT>. Коли користувач поміщає дані в елемент форми, інфоромація розміщується в розділі VALUE цього елемента.
Синтаксис. Всі форми починаються тегом <FORM> і завершуються тегом </FORM><FORM METHOD="get|post" ACTION="URL">
Элементы_формы_и_другие_элементы_HTML. </FORM> METHOD. Метод посилки повідомлення з даними з форми. Залежно від використовуваного методу ви можете надсилати результати введення даних у форму двома шляхами:
GET: Інформація з форми додається в кінець URL, який був зазначений в описі заголовка форми. Ваша CGI-програма (CGI-скрипт) отримує дані з форми у вигляді параметра змінної середовища QUERY_STRING. Використання методу GET не рекомендується.
POST: Даний метод передає всю інформацію про форму негайно після звернення до зазначеного URL. Ваша CGI-програма отримує дані з форми в стандартний потік вводу. Сервер не буде пересилати вам повідомлення про закінчення пересилання даних у стандартний потік вводу, замість цього використовується змінна середовища CONTENT_LENGTH для визначення, яка кількість даних вам необхідно вважати зі стандартного потоку вводу. Даний метод рекомендується до використання.
ACTION: ACTION описує URL, який буде викликатися для обробки форми. Даний URL майже завжди вказує на CGI-програму, обробну дану форму.
Теги форми:
TEXTAREA:
Тег <TEXTAREA> використовується для того, щоб дозволити користувачеві вводити більше одного рядка інформації (вільний текст). Ось приклад использовани тега <TEXTAREA>:
<TEXTAREA NAME="address" ROWS=10 COLS=50>
Москва,
Дмитрівці шосе,
д. 9Б, офіс 448
</ TEXTAREA>
Атрибути, які використовуються всередині тега <TEXTAREA> описують зовнішній вигляд і ім'я значення, що вводиться. Тег </ TEXTAREA> необхідний навіть тоді, коли поле введення спочатку пусте. Опис атрибутів:
NAME - ім'я поля введення
ROWS - висота поля введення в символах
COLS - ширина поля введення в символах
Якщо ви хочете, щоб у полі вводу за замовчуванням видавався який-небудь текст, то необхідно вставити його всередині тегів <TEXTAREA> і </ TEXTAREA>.
INPUT:
Тег <INPUT> використовується для введення одного рядка тексту або одного слова. Атрибути тега:
CHECKED - означає, що CHECKBOX або RADIOBUTTON буде обраний.
MAXLENGTH - визначає кількість символів, який користувачі можуть ввести в полі вводу. При перевищенні кількості допустимих символів броузер реагує на спробу введення нового символу звуковим сигналом і не дає його ввести. Не плутати з атрибутом SIZE. Якщо MAXLENGTH більше ніж SIZE, то в полі здійснюється скролінг. За замовчуванням значення MAXLENGTH одно нескінченності.
NAME - ім'я поля введення. Дане ім'я використовується як унікальний ідентифікатор поля, по якому, згодом, ви зможете отримати дані, вміщені користувачем в це поле.
SIZE - визначає візуальний розмір поля вводу на екрані в символах.
SRC - URL,. вказує на картинку (використовується спільно з атрибутом IMAGE).
TYPE - визначає тип поля вводу. За умовчанням це просте поле введення для одного рядка тексту. Решта типів повинні бути явно зазначені:
CHECKBOX: Використовується для простих логічних (BOOLEAN) значень. Значення, асоційоване з ім'ям даного поля, яке буде передаватися в спричинюється CGI-програму, може приймати значення ON або OFF
HIDDEN: Поля даного типу не відображаються браузером і не дають користувачеві змінювати присвоєні даному полю за умовчанням значення. Це поле використовується для передачі в CGI-програму статичної інформації, наприклад, ID користувача, пароля або іншої інформації.
IMAGE:
Даний тип поля введення дозволяє вам пов'язувати графічний малюнок з ім'ям поля. При натисканні мишею на будь-яку частину малюнка буде негайно викликана асоційована формі CGI-програма. Значення, присвоєні змінної NAME будуть виглядати так - створюється дві нових змінних: перша має ім'я, визначене в полі NAME з додаванням. X в кінці імені. У цю змінну буде поміщена X-координата точки в пікселях (вважаючи початком координат лівий верхній кут малюнка), на яку вказував курсор миші в момент натискання, а змінна з ім'ям, що містяться в NAME і доданим. Y, буде містити Y-координату. Всі значення атрибуту VALUE ігноруються. Сам опис картинки здійснюється через атрибут SRC і з синтаксису збігається з тегом <IMG>.
PASSWORD:
Те ж саме, що і атрибут TEXT, але вводиться користувачем значення не відображається броузером на екрані.
RADIO:
Даний атрибут дозволяє вводити одне значення з кількох альтернатив. Для створення набору альтернатив вам необхідно створити кілька полів введення з атрибутом TYPE = "RADIO" з різними значеннями атрибута VALUE, але з однаковими значеннями атрибута NAME. У CGI-програму буде передано значення типу NAME = VALUE, причому VALUE прийме значення атрибуту VALUE того поля введення, яке в даний момент буде вибрано (буде активним). При виборі одного з полів введення типу RADIO всі інші поля даного типу з тим же ім'ям (атрибут NAME) автоматично стануть невибраними на екрані.
RESET:
Даний тип позначає кнопку, при натисканні якої всі поля форми приймуть значення, описані для них за замовчуванням.
SUBMIT:
Даний тип позначає кнопку, при натисканні якої буде викликана CGI-програма (або URL), описана в заголовку форми. Атрибут VALUE може містити рядок, яка буде висвітлений на кнопці.
TEXT:
Даний тип поля введення описує однорядкове поле введення. Використовуйте атрибути MAXLENGTH і SIZE для визначення максимальної довжини значення, що вводиться в символах і розміру відображуваного поля вводу на екрані (за замовчуванням приймається 20 символів).
VALUE - привласнює полю значення за замовчуванням або значення, яке буде вибране при використанні типу RADIO (для типу RADIO даний атрибут обов'язковий).
Меню вибору у формах. Під меню вибору у формах розуміють такий елемент інтерфейсу, як LISTBOX. Існує три типи тегів меню вибору для форм:
Select - користувач вибирає одне значення з фіксованого списку значень, представлених тегами OPTION. Даний вид представляється як випадає LISTBOX.
Select single - те ж саме, що і Select, але на екрані користувач бачить одночасно три елементи вибору. Якщо їх більше, то надається автоматичний вертикальний скролінг.
Select multiple - дозволяє вибрати кілька елементів з LISTBOX.
SELECT: Тег SELECT дозволяє користувачеві вибрати значення з фіксованого списку значень. Зазвичай це представлено випадаючим меню.
Тег SELECT має одну або більше параметр між стартовим тегом <SELECT> і завершальним </ SELECT>. За замовчуванням, перший елемент відображається в рядку вибору. Ось приклад тега <SELECT>:
<FORM>
<SELECT NAME=group>
<OPTION> AT 386
<OPTION> AT 486
<OPTION> AT 586
</ SELECT>
</ FORM>
SELECT SINGLE: Тег SELECT SINGLE - це те ж саме, що і Select, але на екрані користувач бачить одночасно кілька елементів вибору (три за замовчуванням). Якщо їх більше, то надається автоматичний вертикальний скролінг. Кількість одночасно відображуваних елементів визначається атрибутом SIZE. Приклад:
<FORM>
<SELECT SINGLE NAME=group SIZE=4>
<OPTION> AT 386
<OPTION> AT 486
<OPTION> AT 586
<OPTIONS> Pentium PRO
</ SELECT>
</ FORM>
SELECT MULTIPLE: Тег SELECT MULTIPLE схожий на тег SELECT SINGLE, але користувач може одночасно вибрати більш ніж один елемент списку. Атрибут SIZE визначає кількість одночасно видимих на екрані елементів, атрибут MULTIPLE - максимальна кількість одночасно вибраних елементів. Приклад:
<FORM>
<SELECT SINGLE NAME=group SIZE=4 MULTIPLE=2>
<OPTION> AT 386
<OPTION> AT 486
<OPTION> AT 586
<OPTIONS> Pentium PRO
</ SELECT>
</ FORM>
Якщо вибрано одночасно кілька значень, то сервера передаються відповідне обраному кількість параметрів NAME = VALUE з однаковими значеннями NAME, але різними VALUE.
Відправлення файлів за допомогою форм. Форми можна використовувати для відправки не тільки невеликих інформаційнихповідомлень у вигляді параметрів, а також і для відправлення файлів.
Увага! Оскільки дана можливість вимагає підтримки отримання файлів WEB-сервером, то, відповідно, необхідно, щоб сервер підтримував отримання файлів!
Наприклад:
<FORM ENCTYPE = "multipart / form-data" ACTION = "url" METHOD = POST> Надіслати данийфайл: <INPUT NAME="userfile" TYPE="file"> <P> <INPUT TYPE = "submit" VALUE = "Відправити файл "> </ FORM>.