Элементы формы. Определение элементов формы. Общие атрибуты тегов
Одним из важнейших свойств web-документов является возможность получения данных от клиентов и отправки их на сервер . Эта возможность обеспечивается с помощью так назваемых ФОРМ (FORMS ).
Таким образом,
Как выглядят HTML-формы?
Вот один из простейших примеров:
1. | Фамилия * | |
2. | Имя, отчество * | |
3. | Место работы * | |
4. | Должность * | |
5. | Рабочий адрес * | |
6. | Рабочий телефон * | |
7. | Факс | |
8. | E-mail * | |
9. | Адрес личной web-страницы | |
10. | Ученая степень | |
11. | Ученое звание | |
12. | Область научных интересов * | 1. 2. 3. 4. 5. 6. |
Это очень простая форма. Она содержит лишь текстовые поля и две кнопки. Первая кнопка (RESET ) позволяет "сбросить" все введенные пользователем данные, вторая (SUBMIT )- непосредственно отсылает данные на сервер . Ясно, что если забыть разместить в форме кнопку SUBMIT , то данные на сервер не будут отправлены. Поэтому
Рассмотрим HTML-код, создающий форму.
Формы размещаются в контейнере . |
Этот контейнер можно уподобить обычному бумажному почтовому конверту - на последнем обязательно присутствует адрес назначения и фамилия адресата, в тэге непременно указывается адрес серверного сценария , который получит и обработает ввведенные клиентом данные. Для этого используется атрибут action . Таким образом, простейшая форма имеет такую структуру:
Атрибут action
является обязательным (если, конечно, отправка данных на сервер предусмотрена), но не единственным атрибутом формы. О других атрибутах мы поговорим чуть позднее, а пока остановимся на основных элементах форм.
Элементы форм
Все элементы форм создаются тэгами, имеющими начало: , где значения атрибута type и определяют тип элемента. Рассмотрим возможные значения этого атрибута.
- Текстовое поле (text field):
(Мы только что видели их в нашем примере)
Текстовое поле определяет код:
Здесь
- name - имя поля (впоследствии мы узнаем, как к элементам форм можно обращаться просто по имени);
- value - то, что будет записано в текстовое поле "по умолчанию", как только документ появится в окне браузера;
- align - этот атрибут "отвечает" за расположение текстового поля; он не является специфическим для элементов форм и (как и в других тэгах) может принимать значения: left , right , center ;
- size - длина поля в символах;
- maxlength - максимальное число символов, которое можно ввести в поле. Если этот атрибут не указывать, ограничений на ввод не будет.
Значением текстового поля должен быть только текст. Если, к примеру, поместить в него html-код, он будет отображаться как текст (а не так, как он выглядел бы в окне браузера). Но вот , выполненный Сергеем Бурылиным. Как ему это удалось - попробуйте разобраться сами.
- Текстовая область (text area):
Текстовые области удобно использовать для ввода большого количества текстовой информации
Код текстовой области выглядит следующим образом:
Здесь атрибут "wrap"
указывает на способ разрыва строки: если присвоить ему значение off
, вводимый текст будет "уходить" за пределы области
, в противном случае (on
, soft
или даже просто wrap
без присвоения) текст автоматически переносится на новую строку.
- Список:
Списки позволяют сделать единственный или множественный выбор из набора предлагаемых опций (options ).
Структрура HTML-кода, определяющего список, такова:
Коды списков, приведенных нами в качестве примеров, имеют вид:
<select name="week
" size="7
"> <option value="1 ">Понедельник </option> <option value="2 ">Вторник </option> <option value="3 ">Среда </option> <option value="4 ">Четверг </option> <option value="5 ">Пятница </option> <option value="6 ">Суббота </option> <option value="7 ">Воскресенье </option> </select> Список с единственным выбором, показаны все имющиеся опции, ни одна не выделена. |
<select name="food
" size="4
" multiple> <option value="1 " selected>Пицца </option> <option value="2 ">Хот-дог </option> <option value="3 ">Шашлык </option> <option value="4 ">Мороженое </option> <option value="5 ">Шампанское </option> <option value="6 ">Ананас </option> <option value="7 ">Шоколад </option> <option value="8 ">Кофе </option> </select> Список с множественным выбором, показаны лишь 4 из 8-ми опций, первая опция выделена. |
- "Флажок" (Checkbox)
"Единичный" флажок создается с помощью кода:
Атрибут checked
указывает на то, что "флажок" по умолчанию будет отмеченным.
Часто используется сразу несколько "флажков", например:
Укажите Ваши навыки:
<input type="checkbox" name="skill " value="1 " checked>HTML <input type="checkbox" name="skill " value="2 ">JavaScript <input type="checkbox" name="skill " value="3 ">ASP <input type="checkbox" name="skill " value="4 ">Perl <input type="checkbox" name="skill " value="5 ">PHP <input type="checkbox" name="skill " value="6 ">XML <input type="checkbox" name="skill " value="7 ">FLASH |
Укажите Ваши навыки:
HTML JavaScript ASP Perl PHP XML FLASH |
- "Радиокнопка" (Radiobutton)
"Единичная" радиокнопка создается с помощью кода:
текст, который обычно помещается рядом с радиокнопкой
|
Атрибут checked
указывает на то, что радиокнопка по умолчанию будет отмеченной.
Часто используется сразу несколько радиокнопок, например:
Укажите Ваши навыки:
<input type="radio" name="skill " value="1 " checked>HTML <input type="radio" name="skill " value="2 ">JavaScript <input type="radio" name="skill " value="3 ">ASP <input type="radio" name="skill " value="4 ">Perl <input type="radio" name="skill " value="5 ">PHP <input type="radio" name="skill " value="6 ">XML <input type="radio" name="skill " value="7 ">FLASH |
Укажите Ваши навыки:
HTML отправку данных на сервер . Такая кнопка создается с помощью кода: При нажатии кнопки submit данные передаются на сервер по адресу указанному в качестве значения атрибута action . Чтобы предусмотреть возможность сброса
всех введенных пользователем данных (и восстановления данных, указанных по умолчанию), используется кнопка reset
. Код ее выглядит следующим образом:
|
Форма – это объект БД, предназначенный для ввода и отображения информации. Формы позволяют выполнить проверку корректности данных при вводе, проводить вычисления, обеспечивает доступ к данным в связанных таблицах с помощью подчиненных форм.
Работа с формами может происходить в четырех режимах: в режиме Формы, в режиме Таблицы, в режиме Макета, в режиме Конструктора. Выбрать режим работы можно при помощи пиктограммы Режим группы Режимы вкладки ГЛАВНАЯ.
В режимах Формы и Таблицы можно осуществлять добавление, удаление и редактирование записей в таблице или в запросе, являющимся источником данных для форм.
В режиме Конструктора можно производить изменение внешнего вида формы, добавление и удаление элементов управления, разработку.
В режиме Макета можно изменять свойства полей, определять формат полей, изменить макет формы целиком, а также выполнить условное форматирование полей.
Виды форм.
В Access можно создать формы следующих видов:
Форма в столбец или полноэкранная форма;
Ленточная форма;
Табличная форма;
Форма главная / подчиненная;
Сводная таблица;
Форма – диаграмма или сводная диаграмма.
Форма в столбец представляет собой совокупность определенным образом расположенных полей ввода с соответствующими им метками и элементами управления. Чаще всего эта форма используется для ввода и редактирования данных.
Ленточная форма служит для отображения полей группы записей. Поля не обязательно располагаются в виде таблицы, однако для одного поля отводится столбец, а метки поля располагаются как заголовки столбцов.
Табличная форма отображает данные в режиме таблицы.
Форма главная/подчиненная представляет собой совокупность формы в столбец и табличной. Ее имеет смысл создавать при работе со связанными таблицами, в которых установлена связь типа «один-ко-многим».
Форма Сводная таблица выполняется мастером создания сводных таблиц Excel на основе таблиц и запросов Access (мастер сводных таблиц является объектом, внедренным в Access , чтобы использовать его в Access необходимо установить Excel ). Сводная таблица представляет собой перекрестную таблицу данных, в которой итоговые данные располагаются на пересечении строк и столбцов с текущими значениями параметров.
Форма с диаграммой. В Access в форму можно вставить диаграмму, созданную Microsoft Graph . Graph является внедряемым OLE приложением и может быть запущен из Access . С внедренной диаграммой можно работать так же, как и с любым объектом OLE .
Структуры формы.
Любая форма может включать следующие разделы:
- Заголовок формы – определяет верхнюю часть формы и может содержать текст, графику и другие элементы управления;
- Верхний колонтитул – раздел отображается только в режиме предварительного просмотра и обычно содержит заголовки столбцов;
- Область данных - определяет основную часть формы, содержащую поля, полученные из источника данных;
- Нижний колонтитул - раздел отображается только в режиме предварительного просмотра в нижней части экранной страницы и обычно содержит номер страницы, дату и т.д.;
- Примечание формы – отображается внизу последней экранной страницы формы.
Форма может содержать все разделы или некоторые из них.
Как и любой объект базы данных, форма имеет свойства. Значение этих свойств для всей формы, ее разделов или элементов управления задаются в окнах свойств, соответствующих объектов. Для отображения на экране окна свойств нужно нажать кнопку Свойства на панели инструментов Конструктор форм.
Окно свойств выделенного объекта содержит следующие вкладки :
Макет – с помощью этих свойств задается макет формы;
Данные - с помощью этих свойств задается источник данных;
События – содержит перечень свойств, связанных с объектом;
Другие – тип окна, в котором открываются форма или сообщение.
Все – перечень всех свойств.
Основные свойства формы:
Подпись – позволяет задать название формы, которое будет выводиться в области заголовка;
Режим по умолчанию – определяет режим открытия формы (простая, ленточная, табличная формы);
Допустимые режимы – свойство, которое определяет можно ли с помощью команд меню Вид переходить из режима формы в режим конструктора;
Свойства полосы прокрутки, область выделения, кнопки перехода, разделительные линии, кнопка оконного меню, размеров окна, кнопка закрытия, кнопка контекстной справки, тип границы – определяют, будут ли выводиться эти элементы в окно формы;
Свойства разрешить добавления, разрешить удаления, разрешить изменения - определяют, можно ли пользователю редактировать данные через форму. Эти свойства могут принимать значения Да/Нет;
Ввод данных - определяет режим открытия формы и принимает значения Да/Нет. Режим Да – открытие формы только для добавления новых записей. Режим Нет – просмотр существующих записей и добавление новых;
Блокировка записей – определяет способы блокировки записей в режиме многопользовательской работы с базой данных.
Для создания форм в Access используются следующие способы:
Пиктограмма Форма – при помощи которой можно создать форму одним щелчком мыши. Используя этого средство, все поля базового источника данных размещаются в форме. Можно сразу же начать работу с новой формы либо при необходимости изменить ее в режиме макета или конструктора;
Пиктограмма Разделенная форма - это новая возможность в Microsoft Office Access 2007, позволяющая одновременно отображать данные в двух представлениях - в режиме формы и в режиме таблицы. Эти два представления связаны с одним и тем же источником данных и всегда синхронизированы друг с другом. При выделении поля в одной части формы выделяется то же поле в другой части. Данные можно добавлять, изменять или удалять в каждой части формы (при условии, что источник записей допускает обновление, а параметры формы не запрещают такие действия);
Пиктограмма Пустая форма - позволяет создать пустую форму, если мастер или инструменты для создания форм не подходят. Таким образом, можно очень быстро построить форму, особенно если в ней будет лишь несколько полей;
Пиктограмма Несколько элементов - позволяет создать форму в которой записи отражаются в виде таблицы, при чем каждая запись занимает отдельную строку;
Мастер форм – программное средство, которое позволяет создавать структуру одного из трех стандартных типов формы в режиме диалога с разработчиком формы. При этом в форму вставляются выбранные пользователем поля из источника данных;
Конструктор форм – позволяет конструировать форму пользователем в окне конструктора форм.
Самым удобным способом создания новой формы является следующая технология: форма создается с использованием мастером форм, а затем дорабатывается в режиме конструктора или макета.
Источником данных формы являются одна или несколько связанных таблиц и/или запросов.
Элементом управления называют любой объект формы или отчета, который служит для вывода данных на экран, оформления или выполнения макрокоманд. Элементы управления могут быть связанными, вычисляемыми или свободными.
Связанный (присоединенный) элемент управления присоединен к полю базовой таблицы или запроса. При вводе значения в связанный элемент управления поле таблицы текущей записи автоматически обновляется. Поле таблицы является источником данных связанного элемента управления.
Элементы формы HTML – это элементарные объекты, из которых мы создаем графический интерфейс пользователя программы на JavaScript.
Каждый объект Form содержит массив elements, в котором хранятся объекты, представляющие элементы формы. В каждом из этих элементов имеется свойство type, которое может применяться, чтобы отличить один тип элементов от другого. По свойству type неизвестного элемента формы код JavaScript может определить тип элемента и выяснить, что можно делать с этим элементом.
И наконец, четвертый столбец таблицы предоставляет краткое описание каждого элемента и наиболее важный или наиболее часто применяемый обработчик события для этого типа элемента.
Подробно различные типы элементов описаны в части IV «Справочник по клиентскому Java-
Script». Хотя для каждого типа элементов формы имеется отдельная справочная страница, обратите внимание, что большинство элементов создаются с помощью тега HTML и на самом деле все являются объектами Input. На странице «Input» «Справочника по клиентскому JavaScript» перечислены возможности, общие для всех этих элементов, а страницы части IV, относящиеся к отдельным типам, содержат специфические сведения о работе с конкретным типом элементов формы.
Обратите внимание, что имена «Button», «Checkbox» и т. д. из первого столбца таблицы могут не соответствовать реальным объектам в клиентской реализации JavaScript и что стандарт DOM не определяет какие-либо интерфейсы с этими именами. Тем не менее каждый из типов элементов формы имеет свой особенный внешний вид и поведение, и полезно, по крайней мере в «Справочнике по клиентскому JavaScript», рассматривать их как отдельные типы. В «Справочнике по W3C DOM» (часть V) вы найдете материал о формах и их элементах в разделах «HTMLFormElement», «HTMLInputElement », «HTMLTextAreaElement», «HTMLSelectElement» и «HTMLOptionElement ».Теперь, взглянув на различные типы элементов формы и теги HTML, применяемые для их создания, посмотрим на код HTML из примера 15.1, использованный для создания формы. Хотя большую часть примера занимает HTML, в нем также содержится код Java-Script, в котором определены обработчики событий каждого из элементов формы. Вы заметите, что обработчики событий не определяются как атрибуты HTML. Здесь ими являются функции JavaScript, присваиваемые свойствам объектов из массива elements формы. Все обработчики событий вызывают функцию report(), содержащую код, который работает с разными элементами формы.
В следующем разделе этой главы описано все, что вам надо знать для понимания работы функции report().
Пример 15.1. Форма HTML, содержащая все виды элементов
Form Elements | Text | Password | Textarea | FileUpload | Checkbox |
Radio | Select (list) | Select (menu) | Button | Submit | Reset |
Она вызывается из различных обработчиков.
function report(element, event) {
var elmtname = element.name;
if ((element.type == "select-one") || (element.type == "select-multiple")){
value = " ";
for(var i = 0; i
value += element.options[i].value + " ";
}
else if (element.type == "textarea") value = "...";
else value = element.value;
var msg = event + ": " + elmtname + " (" + value + ")\n";
var t = element.form.textarea;
t.value = t.value + msg;
}
// Эта функция добавляет к каждому элементу в форме набор обработчиков событий.
// Она не проверяет, поддерживается ли в этом элементе данный обработчик,
// добавляются все обработчики событий. Обратите внимание, что обработчики событий
// вызывают приведенную выше функцию report(). Заметьте, что мы определяем
// обработчики событий, присваивая функцию свойствам объектов JavaScript, а не
// присваивая строки атрибутам HTML-элементов.
function addhandlers(f) {
// Цикл по всем элементам формы
for(var i = 0; i
var e = f.elements[i];
e.onclick = function() { report(this, "Click"); }
e.onchange = function() { report(this, "Change"); }
e.onfocus = function() { report(this, "Focus"); }
e.onblur = function() { report(this, "Blur"); }
e.onselect = function() { report(this, "Select"); }
}
// Определяем несколько особых обработчиков событий для трех кнопок:
f.clearbutton.onclick = function() {
this.form.textarea.value=""; report(this,"Click");
}
f.submitbutton.onclick = function () {
report(this, "Click"); return false;
}
f.resetbutton.onclick = function() {
this.form.reset(); report(this, "Click"); return false;
}
}
// И наконец, активизируем нашу форму, добавляя все возможные
// обработчики событий!
addhandlers(document.everything);
Представляет собой одностроковое текстовое поле (рис. 1), физический размер которого можно установить с использованием атрибута SIZE, а первоначально введенную в него символьную последовательность - с помощью атрибута VALUE.
Рис. 1. Элемент формы TEXT
Примером использования данного элемента в коде HTML может служить следующая строка:
TYPE="PASSWORD"
Тип, полностью аналогичный предыдущему, за исключением того, что вводимая пользователем в текстовое поле информация будет отображаться на экране символами «*», чтобы скрыть текст от постороннего зрителя.
Элемент, представляющий собой простую форму выбора, принимающую одно из двух устойчивых состояний: «отмечено» - «не отмечено» (рис. 2).
Рис. 2. Элемент формы CHECKBOX
Данный элемент оперирует так называемыми булевыми переменными, то есть переменными, каждая из которых может принимать значение «ИСТИНА» или «ЛОЖЬ». Каждый элемент формы CHECKBOX создает логическую пару значений вида «имя_элемента-состояние» и передает их на сервер. Для установки первоначального состояния элемента (отмечен, либо нет) используют атрибут CHECKED.
Пример использования:
Так называемая радиокнопка (рис. 3) применяется в случае, когда какая-либо логическая переменная может принимать только одно значение из множества возможных.
Рис. 3. Элемент формы RADIO
Все элементы RADIO одной формы обозначаются одним и тем же значением атрибута NAME.
Использование радиокнопок требует явного указания значений атрибута VALUE, одна из кнопок должна быть обязательно выделена атрибутом CHECKED.Пример использования:
<Р АLIGN="СЕМТЕR">Пожалуйста, укажите ваш возрастР>
Отображает обыкновенную кнопку (рис. 4), нажатие на которую приводит к какому-либо действию сервера.
Рис. 4. Элемент формы BUTTON
С помощью атрибута NAME данному элементу присваивается уникальное имя, атрибут VALUE позволяет изменять надпись, отображаемую на кнопке.
Пример использования:
TYPE="SUBMIT"
Определяет кнопку, по нажатии которой данные из формы передаются серверу.Так же как и в предыдущем случае, надпись, отображаемая на кнопке, задаетсяатрибутом VALUE.
Пример использования:
Создает кнопку, которая очищает неправильно заполненную текстовую форму. Параметры и значения этой кнопки не передаются на сервер вместе с другими данными формы. Пример использования:
TYPE="FILE"
Генерирует на экране кнопку, по нажатии на которую на экране появляется Проводник Windows, позволяющий присоединить к отсылаемым на сервер данным любой файл с локального компьютера пользователя. Данный элемент применяется в основном в формах отправки с сервера сообщений электронной почты для организации вложений, а также для загрузки изображений на сервер. Обычно рядом с кнопкой отображается небольшое текстовое поле, куда автоматически заносится имя отсылаемого файла и путь к нему на локальном диске.
Пример использования:
TYPE="IMAGE"
Создает кнопку отсылки, аналогичную элементу SUBMIT, но с использованием графического изображения, созданного пользователем. Обычно применяется вслучаях, когда стандартная серая прямоугольная кнопка «не вписывается» в дизайн сайта. URL к изображению, играющему роль кнопки, указывается атрибутом SRC, причем сам элемент может содержать собственные атрибуты, аналогичные применяемым в теге (см. урок 5), в том числе ALIGN, ALT и др. Атрибуты NAME и VALUE трактуются так же, как аналогичные атрибуты элемента SUBMIT.
Пример использования:
Данный элемент является скрытым и не отображается на экране монитора пользователя.
Применяется он для хранения и передачи на сервер информации о текущем состоянии формы: при нажатии кнопки SUBMIT элемент HIDDEN сформирует логическую пару переменных типа «имя-значение», которые будут отосланы серверу с помощью протокола HTTP. Элементы HIDDEN служат доступной альтернативой файлам cookies - специальным файлам, в которых сохраняются индивидуальные настройки пользователя и позволяющим, например, восстановить последнее состояние формы при повторном посещении пользователем содержащей эту форму страницы.Пример использования:
Однако с помощью тега можно передать далеко не все доступные web-дизайнеру элементы форм. Например, текстовые поля, задаваемые атрибутами TEXT и PASSWORD, весьма ограничены по количеству символов, которые можно ввести в эти поля. Если перед web-мастером встала задача создать такие текстовое поля, чтобы пользователь мог вводить большое количество символов, используется самостоятельный тег
Рис. 5. Элемент формы TEXTAREA
Синтаксис записи данного тега выглядит следующим образом:
Текст, выводимый в текстовом поле по умолчанию
С атрибутом NAME, определяющим индивидуальное имя каждого элемента формы, вы уже знакомы. Атрибуты ROWS и COLS указывают соответственно максимально допустимое количество строк вводимого текста и символов в строке. В случае если набираемый пользователем текст не умещается в видимую часть текстового контейнера, по краям поля появляются вертикальные и горизонтальные полосы прокрутки для скроллинга содержимого элемента TEXTAREA.
Пример использования:
Введите сюда текст сообщения
Для создания меню выбора в форме (рис. 6) web-мастер может воспользоваться тегом
Рис. 6. Элемент формы SELECT
Синтаксис записи данного тега в общем виде выглядит так:
OPTION VALUE="Пункт N">Пункт N
Атрибут MULTIPLE определяет для пользователя возможность отметить не одну, а сразу несколько позиций из предложенного списка. Если данный атрибут задан, можно воспользоваться атрибутом SIZE, определяющим количество позиций, видимых на экране одновременно.
Пример использования:
<Р АLIGN ="CENTER">Пожалуйста, укажите ваш городР>
OPTION VALUE="a">Санкт-Петербург
OPTION VALUE="b">Mocква
HTML-формы являются элементами управления, которые применяются для сбора информации от посетителей веб-сайта.
Веб-формы состоят из набора текстовых полей, кнопок, списков и других элементов управления, которые активизируются щелчком мыши. Технически формы передают данные от пользователя удаленному серверу.
Для получения и обработки данных форм используются языки веб-программирования, такие как PHP , Perl .
До появления HTML5 веб-формы представляли собой набор нескольких элементов , , завершающихся кнопкой . Для стилизации форм в разных браузерах приходилось прилагать немало усилий. Кроме того, формы требовали применения JavaScript для проверки введенных данных, а также были лишены специфических типов полей ввода для указания повседневной информации типа дат, адресов электронной почты и URL-адресов.
HTML5-формы решили большинство этих распространенных проблем благодаря наличию новых атрибутов, предоставив возможность изменять внешний вид элементов форм за счет CSS3 .
Рис. 1. Улучшенные веб-формы с помощью HTML5Создание HTML5-формы
1. Элемент
. Он не предусматривает ввод данных, так как является контейнером, удерживая вместе все элементы управления формы – поля . Атрибуты этого элемента содержат информацию, общую для всех полей формы, поэтому в одну форму нужно включать поля, объединенные логически.2. Группировка элементов формы
Элемент
предназначен для группировки элементов, связанных друг с другом, разделяя таким образом форму на логические фрагменты.Каждой группе элементов можно присвоить название с помощью элемента