Формы в HTML - это самая сложная, но с другой стороны, пожалуй самая интересная тема в HTML.
Веб-формы позволяют посетителям сайта внести в специальные поля ту или иную информацию, а разработчику ее получить в удобном для него виде.
Примером формы может служить гостевая книга, анкета, онлайн тест. Формы заполняют при регистрации на сайте, при оформлении заказов в интернет магазине и т.п.
Пользуясь HTML, Вы можете создать каркас формы: текстовые поля, меню, списки, кнопки, флажки и переключатели. То есть те элементы, при помощи которых в форму вносится определенная информация.
Затем данные, внесенные в форму, отправляются на сервер для обработки. Но HTML здесь бессилен - над обработкой формы уже работает программа или скрипт, который к ней привязывается. Такие программы обычно пишут на языке php или javascript.
Атрибуты формы - тег
.Атрибут action является обязательным для любой формы - он указывает адрес к файлу, который обслуживает форму (обрабатывает внесенные в нее данные ).
Атрибут method определяет способ отправки содержимого формы. Существует два метода - GET и POST . Сейчас не имеет смысла вникать в эти параметры, так как тема отправки информации методами GET и POST относится к языкам обработки данных (например, PHP ). Достаточно знать, что именно метод передачи данных POST в большинстве случаях используется в формах.
Атрибут name тега
Сторона света - одно из четырех основных направлений:
7 Чудес света!
Сторона света - одно из четырех основных направлений:
Север Юг Запад Восток
7 Чудес света!
Пирамида Хеопса Висячие сады Семирамиды Статуя Зевса в Олимпии Храм Артемиды в Эфесе Мавзолей в Галикарнасе Колосс Родосский Александрийский маяк
Многострочное текстовое поле - тег
Тег
Атрибут name тега
Атрибут disabled блокирует поле - содержимое поля нельзя изменить и оно недоступно. Атрибут readonly говорит о том, что поле предназначено только для чтения - пользователь не имеет возможность редактировать содержимое, но оно доступно - его можно выделить и, например, скопировать.
Можно задать ширину текстового поля в символах и высоту поля в строках при помощи атрибутов cols и rows соответственно.
Если содержимое поля превысит его размеры - появится бегунок.
Пример использования формы
Теперь давайте посмотрим: как работает форма.
Форма заказа обучающего видеоматериала:
Ваше имя: *
Ваш заказ:
Выберите носитель:
CD
DVD
USB Flash
Ваш E-mail: *
Ваш адрес: *
Для создания области, в которую можно вводить несколько строк текста, предназначен элемент
Поле для многострочного текста незаменимо для добавления комментариев к статьям, написания сообщений форума, вставки и редактирования постов в блоге и во многих других случаях, когда одной строки текста явно недостаточно. Синтаксис создания поля следующий.
Между тегами можно поместить любой текст, который будет отображаться внутри поля. Если текста нет, то поле будет изначально пустым.
Допустимые атрибуты перечислены в табл. 1.
Создание поля многострочного текста показано в примере 1.
Ни один из этих атрибутов не является обязательным, поэтому простая форма для отправки текста выглядит так (пример 1).
Пример 1. Текстовое поле
Введите ваш отзыв:
Результат примера показан на рис. 1.
Рис. 1. Вид текстового поля по умолчанию
При оформлении многострочного поля применяются те же стилевые свойства, что и для однострочного текста. А именно можно изменять ширину (свойство width ), высоту (height ), границу (border ), цвет текста и фона (color и background соответственно) и др. Пример создания текстового поля с разными характеристиками приведен в примере 2.
Пример 2. Оформление текстового поля
Введите ваш отзыв:
Результат данного примера показан на рис. 2.
Рис. 2. Изменение вида текстового поля
Все браузеры кроме Internet Explorer поддерживают изменение размера для
Для объемных текстов, например для почтовых сообщений, удобно использовать именно этот элемент. Он создается тегами и имеет следующие параметры:
– name - имя поля,
– cols - ширина поля в символах,
– rows - количество строк текста, видимых на экране,
– wrap - способ переноса слов:
– off - переноса не происходит,
– virtual - перенос отображается, но на сервер поступает неделимая строка,
– physical - перенос и на экране и при поступлении на сервер.
– disabled - неактивное поле,
– readonly - разрешено только чтение.
Результат:
Раскрывающиеся списки
Списки бывают с возможностью выбора одного элемента и с множественным выбором. Задаются и те, и другие с помощью тегов , внутри которых располагаются элементы значений, заданных тегом Рассмотрим параметры этих тегов:
– name - имя списка. Каждый выбранный элемент списка при передаче на сервер будет иметь вид: name.value, где значение (value) берется из тега option;
– size - определяет количество видимых элементов в списке: 1 - простой раскрывающийся список, больше 1 - список с полосой прокрутки;
– multiple - разрешает выбор нескольких элементов списка.
– selected - им помечают наиболее вероятный для выбора элемент списка, если список со множественным выбором, то можно пометить несколько пунктов;
– value - значение, которое будет отправлено серверу, если пункт выбран.
Какой язык вы хотите изучать:
Какое время вы готовы на это потратить:
Какие дни недели для занятий вас устроят:
(выбирайте с нажатой клавишей ctrl)
Результат:
Существуют еще теги <optgroup>… , позволяющие группировать элементы списка по каким-либо признакам. Например, для создания каталога сайтов в виде списка, тогда удобнее разбить его на группы по интересам. Обратите внимание, в данном случае необходимо указывать закрывающие теги . Пример кода:
Каталог сайтов:
Результат:
Надписи
Все элементы формы можно связать с их надписями при помощи элемента и его параметра for, значением которого является имя элемента, с которым связываем надпись. Например:
Результат:
Условие задания
В соответствии с вариантом создать форму для ввода данных. Страница должна содержать следующие визуальные элементы:
1. заголовок;
2. текст поясняющий назначение формы;
3. форму ввода данных, в соответствии с вариантом. Типы элементов для ввода данных подобрать самостоятельно (не менее 3 различных);
4. копки – «ОТПРАВИТЬ », «ОЧИСТИТЬ »;
5. информацию о создателе страницы – ФИО , группа , e–mail .
Рисунок 1 – Примерный вид страницы
К каждому полю формы добавить кнопку «Пояснение », при нажатии на которую открывается окно с поясняющей информацией и или картинкой, кнопкой «ЗАКРЫТЬ ».
При нажатии на кнопку «ОТПРАВИТЬ », данные формы проверяются на правильность заполнения – все поля заполнены, числовые поля содержат допустимые значения, выполняется удаление начальных и конечных пробелов. При несоответствии данных одного или нескольких полей, на экран должно выводиться окно в котором указываются название и краткий текст поясняющий требования к вводимым в поле данным. Если данные введены верно, то данные отправляются после подтверждения в диалоговом окне. На форме разместить два скрытых поля с текущей датой и временем, которые также передаются на сервер. Примерный вид формы:
Рисунок 2 – Примерный вид формы ввода данных
Таблица 1 – Варианты форм ввода данных
Вариант | Описание |
Цех, участок, Ф.И.О. Объем выполненной работы | |
УДК, Ф.И.О. автора, Наименование, Количество | |
Номер поезда, Наименование, Место отправления, Место прибытия, Категория | |
Организация, Ф.И.О., Год рождения, Занятое место | |
Страна, Площадь, Население, Континент, Столица | |
Марка автомобиля, Номер, Цвет, Год выпуска, Пробег | |
Порода собаки, Кличка, Отец, Мать, Дата рождения, ФИО хозяина | |
Вид овощей, Название сорта, Дата посадки, Дата уборки, Урожай | |
Дисциплина, Объем лекций, Объем лабораторных, Вид контроля, Группа | |
Дата, Температура, Давление, Облачность, Направление ветра | |
Наименование, Фирма, Стоимость, Количество, Дата | |
Название группы, Страна, Альбом, Дата выпуска, Число продаж | |
Название вершины, Высота, Страна, Год покорения, Количество восхождений | |
Ф.И.О., Год рождения, Рост, Вес, Группа крови | |
Ф.И.О., Область деятельности, Год рождения, Страна, Число публикаций |
Контрольные вопросы
1. Опишите тег для создания текстового поля. Приведите его синтаксис.
2. Опишите тег для создания текстового поля для ввода пароля. Приведите его синтаксис.
3. Опишите тег для создания флажков. Приведите его синтаксис.
4. Опишите тег для создания кнопок. Приведите его синтаксис.
5. Опишите тег для создания поля для выбора файлов. Приведите его синтаксис.
6. Опишите тег для создания многострочного текстового поля. Приведите его синтаксис.
7. Опишите тег для создания раскрывающегося списка. Приведите его синтаксис.
Преподаватель Стишенок Е.О.
Фарберов А.Г.
Данный элемент формы предназначен для создания области, в которой можно вводить несколько строк текста. В таком текстовом поле допустимо делать переносы строк, они сохраняются при отправке данных на сервер.
Поле для многострочного текста незаменимо для добавления комментариев к статьям, написания сообщений форума, вставки и редактирования постов в блоге и во многих других случаях, когда одной строки текста явно недостаточно.
Синтаксис создания поля следующий.
Между тегов можно поместить любой текст, который будет отображаться внутри поля. Если текста нет, то поле будет изначально пустым.
Допустимые атрибуты перечислены в табл. 1.
Создание поля для многострочного текста показано в примере 1.
Пример 1. Текстовое поле
Введите ваш отзыв:
Результат примера показан на рис. 1.
Рис. 1. Вид текстового поля по умолчанию
Для
В
Пример 2. Текстовое поле с текстом
Отредактируйте ваш отзыв:
Результат данного примера показан на рис. 2. Обратите внимание, что учитываются все пробелы и переносы строк внутри
Рис. 2. Поле с текстом
Как правило, размеры
Последнее обновление: 08.04.2016
Однострочное текстовое поле создается с помощью элемента input , когда его атрибут type имеет значение text:
С помощью ряда дополнительных атрибутов можно настроить текстовое поле:
dirname : устанавливает направление текста
maxlength : максимально допустимое количество символов в текстовом поле
pattern : определяет шаблон, которому должен соответствовать вводимый текст
placeholder : устанавливает текст, который по умолчанию отображается в текстовом поле
readonly : делает текстовом поле доступным только для чтения
required : указывает, что текстовое поле обязательно должно иметь значение
size : устанавливает ширину текстового поля в видимых символах
value : устанавливает значение по умолчанию в текстовом поле
Применим некоторые атрибуты:
В этом примере во втором текстовом поле сразу устанавливаются атрибуты maxlength и size . При этом size - то есть количество символов, которые помещаются в видимое пространство поля больше, чем допустимое количество символов. Однако все равно ввести символов больше, чем maxlength, мы не сможем.
В данном случае также важно различать атрибуты value и placeholder , хотя оба устанавливают видимый текст в поле. Однако placeholder устанавливает своего рода подсказку или приглашение к вводу, поэтому он обычно отмечается серым цветом. В то время как значение value представляет введенный в поле текст по умолчанию:
Атрибуты readonly и disabled делают текстовое поле недоступным, однако сопровождаются разным визуальным эффектом. В случае с disabled текстовое поле затеняется:
Среди атрибутов текстового поля также следует отметить такой атрибут как list . Он содержит ссылку на элемент datalist , который определяет набор значений, появляющихся в виде подсказки при вводе в текстовое поле. Например:
Атрибут list текстового поля указывает на id элемента datalist. Сам элемент datalist с помощью вложенных элементов option определяет элементы списка. И при вводе в текстовое поле этот список отображается в виде подсказки.
Поле поиска
Для создания полей поиска предназначен элемент input с атрибутом type="search" . Формально он представляет собой простое текстовое поле:
Поле ввода пароля
Для ввода пароля используется элемент input с атрибутом type="password" . Его отличительной чертой является то, что вводимые символы маскируются точками: