Метка элемента формы label


Содержание

sitesa >

Создание сайта

Свойство Label,ТехtВох,Print

Справочные данные Visual Basic 6.0
Поэтапное создания программ
Элементы программирования
Основы программирования

При работе с текстом на форме, используются следующие элементы управления: Label и ТехtВох.
Label(Метка). Применяется для отображения текста на форме, при этом его редактирование невозможно. Метки используются для визуальной подсказки пользователю о функциональном назначении того или иного элемента на форме. Свойства, используемые при работе с метками, приведены в таблице.

Название Описание
Caption Текст надписи
Alignment Выравнивание текста: 0 — Left Justify (по левому краю) 1- Center(по центру) 2- Right Justify (по правому краю)
AutoSize Автоматическое изменение размеров метки
Wordwrap Размещение текста на нескольких строках

В том случае, когда текст, находящийся в метке, не помещается в одной строке, то по умолчанию он переносится на следующую строку, если позволяет заданная высота элемента. В противном случае та часть, которая выйдет за имеющиеся границы, отображена не будет. Для автоматического расширения метки на форме необходимо установить свойство AutoSize = True.

Если необходимо расположить текст в метке на нескольких строках с автоматическим увеличением ее высоты, следует разрешить перенос слов путем присвоения World Wrap = True. При этом следует отметить, что перенос слов, установленный таким образом, будет действовать только в том случае, если установлено свойство AutoSize = True.

ТехtВох (Текстовое поле). Используется для реализации диалога с пользователем путем ввода им с клавиатуры определенной информации. Так как у элемента ТехВох отсутствует свойство Caption, то в качестве его замены используют метку с соответствующим текстом.

Основные свойства элемента ТехtBох

Название Описание
Text Содержимое текстового поля
Alignment Выравнивание текста относительно границ
MultiLine Расположение на нескольких строках
ScrollBars Полосы прокрутки для текстового поля. 0 — None (нет) 1 — Horizontal (горизонтальная) 2 — Vertical Both (o6e)
SelStart Начальное расположение курсора
SelLength Количество выделенных символов в поле
SelText Текст для замены выделенного фрагмента
PasswordChar Символ вводимого пароля
MaxLength Максимальная длина пароля
Locked Запрет на редактирование текста

Текст, который вводится пользователем, обрабатывается с помощью свойства Техt. Если он не помещается в заданных границах текстового поля, можно разрешить перенос слов путем установки свойства MultiLine = Тгuе. Вместе с этим необходимо выбрать один из вариантов для полос прокрутки текста (свойство ScrollBars), так как размеров поля может не хватить для отображения всей введенной информации.

Также можно установить тип выравнивания текста при помощи свойства Alignment (аналогично элементу Label), которое, однако, будет выполнено только в случае указанного выше присвоения MultiLine = True.

Для того чтобы при получении фокуса текстовым полем курсор находился в заданной позиции (по умолчанию — в начале текста), используется свойство SelStart — позиция.

Здесь позиция — порядковый номер символа в текстовом поле, перед которым будет расположена точка ввода, при этом нумерация символов начинается с 0. Для точки ввода можно задать не только позицию курсора, но и количество символов, которые будут выделены, т.е. какую часть текста необходимо заменить первым вводимым символом. В этом случае применяется свойство SelLength-количество.

Print. Используется при необходимости установления пользователем параметров печати, в частности, названия и свойств принтера, размера бумаги, ее ориентации (книжная или альбомная), диапазона выводимых на печать .

Необходимо помнить, что диалоговое окно Print не участвует в отправлении данных на принтер, а только задает параметры для печати. Поэтому, при необходимости вывести на печать информацию, следует наряду с использованием данного диалога также описать процедуру, которая будет непосредственно посылать данные принтеру.

Метка (Label), текстовое окно (Text box), окно редактирования с маской (MaskedEdit), контрольный индикатор (Check box), Изображение (Image) и графическое окно (Picture box)

Метка (Label), текстовое окно (Text box), окно редактирования с маской (MaskedEdit), контрольный индикатор (Check box), Изображение (Image) и графическое окно (Picture box)

Label и Text Box

Объекты управления Label и Text Box используются для вывода текстовой информации на экранную форму. При работе с базами данных эти элементы управления могут применяться и для отображения на экране текстовой информации из полей базы данных. На панели инструментов Visual Basic метка и текстовое окно изображены пиктограммами и соответственно. Чтобы установить связь с объектом управления данными необходимо определить их свойства DataSource и DataField соответствующим образом.

Метка (Label) может быть как однострочной, так и многострочной, но в отличие от текстового окна в ней не предусмотрены возможности редактирования и прокрутки данных. Если выводимый текст не помещается в отведенное для метки место на форме, то текст обрезается. Управлять этим поведением можно при помощи свойств AutoSize и WordWrap. Свойство AutoSize определяет поведение размеров метки при изменении длины выводимого текста и по умолчанию устанавливается в False, при этом размер метки не увеличивается с ростом длины строки. При установленном в True свойством AutoSize с помощью установок свойства WordWrap определяется поведение вертикального размера метки. Если WordWrap установлен в False, то при увеличении длины строки переносов слов не будет и горизонтальный размер метки будет увеличиваться до тех пор, пока текст не достигнет правого края экранной формы. Если WordWrap установлен в True, то по мере достижения правой границы метки будет осуществляться перенос слов. Такое поведение меток продемонстрировано на рис.7.1.

Рис.7.1. Управление поведением размеров
метки при выводе текста с помощью
свойств AutoSize и WordWrap

Следует помнить, что для сохранения заданного размера метки по горизонтали необходимо установить свойство WordWrap в True до установки свойства AutoSize. В противном случае, этот размер сразу уменьшится до значения, определяемого длиной строки в свойстве Caption.

Для отображения текстовой информации из базы данных все-таки гораздо больше подходит текстовое окно. Связь с объектом управления данными осуществляется установкой свойств DataSource и DataField.

Как и метка, элемент управления — текстовое окно (TextBox) может быть однострочным или многострочным. Это определяется установкой свойства MultiLine, которое по умолчанию устанавливается в False. Если вы хотите использовать многострочное текстовое окно с возможностью прокрутки данных, то после определения его размеров и месторасположения на экранной форме установите свойство MultiLine в True и, если требуется, свойство ScrollBars (рис 7.2).

Рис.7.2. Однострочное и многострочное текстовые окна

Если вам требуется выводить текст не подлежащий редактированию пользователем, установите, например, свойство Locked в True.

Таким образом, метки все-таки удобнее используются для информирования пользователя о том, какого рода данные отображаются в текстовом окне, которое, как правило, располагается рядом. В этом случае метка не связывается с базой данных. Примеры такого использования меток и текстовых окон обсуждались в предыдущей главе.

Check box

Связанный с данными контрольный индикатор (Check box) можно использовать для наглядного представления на экранной форме информации из полей базы данных логического типа (Да или Нет, 1 или 0, True или False). Примерами таких данных могут служить: оплачен или не оплачен счет — при разработке системы управления счетами, есть товар на складе или нет — при автоматизации складского хозяйства, постоянный покупатель или нет — в системе работы с покупателями (рис7.3) и т.п. На панели инструментов Visual Basic контрольный индикатор обозначен пиктограммой . Связь контрольного индикатора с объектом управления данными осуществляется установкой свойств DataSource и DataField.

Рис.7.3. Пример использования контрольного индикатора

MaskedEdit

Известно, что пользователи часто совершают ошибки при вводе информации в базы данных. Впрочем, не ошибается лишь тот, кто ничего не делает. Установить некоторый контроль над действием пользователей позволяет использование для ввода специальной информации окна редактирования с маской (MaskedEdit) Этот элемент управления позволяет так же помещать в поле ввода символы разметки. Примером такой информации может выступать номер телефона или почтовый индекс. Типичный номер телефона имеет следующий формат, где скобки и дефисы являются символами разметки, а символ # определяет любую цифру:

Почтовый индекс состоит из шести цифр и не должен содержать букв или других символов.

Окно редактирования с маской имеет свойство Mask (Маска), которое позволяет определить формат отображаемой строки в поле ввода. По умолчанию свойство Mask не определено и поведение объекта Mask полностью аналогично обычному текстовому окну. Символы, которые используются в качестве маски приведены в таблице.

Таблица. Символы, используемые в качестве маски

Символ Описание
# Любая цифра
. Десятичная точка (например, 3.1415)
, Разделитель тысяч (например, 1,000,000)
: Разделитель времени (например, 21:30)
/ Разделитель даты (например, 05/08/97)
& Любой символ
A Любая цифра или буква
? Любая буква

С полем базы данных объект MaskedEdit связывается установкой свойств DataSource и DataField.

Построим простое приложение в котором будут реализованы возможности рассмотренных в этом разделе связанных элементов управления. Создадим, например, при помощи приложений VisData или MS Access базу данных CUSTOMER.MDB с одной таблицей CUSTOMERS, в которой будем хранить информацию о покупателях. Пусть эта таблица будет содержать следующие поля:

Таблица. Структура таблицы CUSTOMERS базы данных CUSTOMER.MDB

Поле Тип Ширина Описание
Name Text 20 Имя
LastName Text 20 Фамилия
Concern Text 50 Предприятие
Const Boolean 1 Постоянный покупатель или нет
Address Text 50 Адрес предприятия
Phone Text 20 Телефон
Note Text 50 Примечание

Так как наше приложение будет простой программой просмотра содержимого базы данных, то самостоятельно добавьте в таблицу CUSTOMERS несколько произвольных записей.

Создайте новый проект и расположите на форме объект управления данными, семь меток, пять текстовых окон, окно редактирования с маской и один контрольный индикатор, как показано на рис.7.4.

Рис.7.4. Расположение элементов управления на экранной форме

Теперь в окне свойств объекта Data1 определите свойство Caption, как “Покупатели”, установите свойство DatabaseName как имя файла базы данных с указанием полного пути C:\WORK\ CUSTOMER.MDB и укажите имя таблицы Customers в качестве источника данных RecordSource.

Затем установите свойства меток, текстовых окон, окна редактирования с маской и контрольного индикатора следующим образом:

Метку Label7 будем использовать аналогично текстовому окну, в котором отображается содержимое поля Note (Примечание). Для этого установите следующие свойства:

Теперь сохраните и запустите проект. Результат работы приложения показан на рис.7.5.

Рис.7.5. Результат работы приложения

Image и Picture box

Для отображения на форме графических объектов в формате Windows (битовые карты — файлы с расширением BMP, иконы — ICO и метафайлы — WMF), а также рисунков в форматах GIF и JPG можно использовать элементы управления Image (Изображение) и Picture Box (Графическое окно). Связываются эти объекты управления с базой данных установкой все тех же свойств DataSource и DataField и на панели инструментов Visual Basic обозначены пиктограммами и соответственно.

Хотя эти элементы управления и служат одной цели, тем не менее, они отличаются эти друг от друга способом отображения графики. Свойство Stretch (Растяжение) объекта Image по умолчанию устанавливается в False и линейные размеры объекта “Изображение” будут изменяться в соответствии с действительными размерами рисунка. Если Stretch равно True, то рисунок при выводе его на форму будет сжиматься или растягиваться согласно взаимному соотношению размеров рисунка и линейным размерам объекта “Изображение”. В этом случае, если длина и ширина объекта и самого рисунка не пропорциональны друг другу то, то что вы увидите на экране может заметно отличаться от оригинала. Картинка может заметно исказиться (рис.7.6). Таким образом, при использовании объекта Image для вывода графики в любом случае, независимо от установки свойства Stretch, вся картинка разместится на экранной форме.

Рис.7.6. Влияние установки свойства Stretch на вывод изображения

Использование для представления графики объекта “Графическое окно” позволяет выводить рисунки без искажений. При установке свойства AutoSize объекта Picture в False, а именно так оно определяется по умолчанию, размеры объекта не будут приводиться в соответствие с размерами картинки. Если в этом случае картинка не поместится целиком в графическое окно, то она будет обрезана (рис.7.7). С другой стороны, если AutoSize равен True, то при выводе картинки на экран размеры графического окна изменятся согласно размерам выводимого изображения.

Рис.7.7. Влияние установки свойства AutoSize на вывод изображения

Использование элементов управления Image и Picture Box не позволяют проводить редактирование изображений. Если в вашем приложении необходимо вносить изменения в графические изображения, то лучше воспользоваться контейнером OLE.

HTML тег label

Тег определяет метку для элемента .

Элемент на пользовательском уровне ничего особенного не генерирует. Тем не менее, он позволяет улучшить взаимодействие пользователя со страницей, так как при нажатии мышкой на метку активируется связанный с ней контрольный элемент.

Илон Маск рекомендует:  Пароль на страницу

Атрибут for тега должен иметь такое же значение, что и атрибут id соответствующего контрольного элемента. Это позволяет связать их друг с другом.

Метка может быть связана с контрольным элементом либо при помощи атрибута for, либо вложив этот контрольный элемент в тег .

Разница между HTML 4.01 и HTML5

Атрибут Описание
for Определяет к какому элементу относится метка
form Определяет к какой форме относится данный элемент

Общие атрибуты

HTML пример

Две кнопки выбора с текстовыми метками:

CSS стили по умолчанию

Большинство браузеров будут отображать тег со следующими стилями

Как получить метки элементов формы, заключенные в тег

Я создаю элементы флажка в форме Zend следующим образом:

Когда я получаю такой ярлык:

Но я хочу получить следующий результат:

Есть ли опция в функции getLabel() или есть какая-либо другая функция для достижения этой цели.

renderLabel()

сделать эту метку

я боюсь, что, хотя декораторы скучны, чтобы учиться и понимать, как только вы их понимаете, они полезны

это один из моих классов, вы можете легко добавить его в соответствии с вашими потребностями

В вашем вопросе есть концептуальное недоразумение: getLabel() — это простой метод getter для свойства объекта.

Если вы хотите вывести HTML, вы должны вызвать render() для объекта, но это отобразит всю форму, а не только значение метки. Вы можете отключить декораторы для элемента, но затем вы сможете включить их снова, когда вы сами визуализируете форму.

Кроме того, в вашем вопросе есть формальная ошибка. Это либо

Посмотрите другие вопросы по меткам php zend-framework label zend-form или Задайте вопрос

Как обратиться к метке(надпись — Label)

Visual Basic
27.07.2015, 19:35

Форма в консольном приложении — как обратиться к метке
Добавил форму к консольному приложению. using System; using System.Collections.Generic; using.

Как обратиться к динамически созданной метке из другого метода
Сильно не пинайте — только начал изучать c#) Динамически создаю Label private void.

Как обратиться к методу класса из формы и вывести в ней же (например на метке) результат действий этого метода
Помогите разобраться в этом элементарном вопросе! Какая то затыка не дает получить нужный результат.

Как изменить надпись Label?
Я знаком с программирование, и только начинаю изучать Python. Вот код: # -*- coding: utf-8 -*-.

Метка элемента формы

Форма HTML — это раздел документа, в котором содержатся обычная информация, разметка и специальные элементы, называемые управляющими элементам (флажки, кнопки с зависимой фиксацией, меню и т.д.), а также метки этих управляющих элементов. Обычно пользователи «заполняют» форму, модифицируя управляющие элементы (вводя текст, выбирая пункты меню и т.д.) перед тем, как предоставить форму агентц пользователя для обработки (например, на Web-серввер, на почтовый сервер и т.д.)

Вот простая форма, включающая метки, кнопки с зависимой фиксацией и кнопки (очистка формы или отправка):

Примечание. В данной спецификации имеется более подробная информация о формах в подразделах о проблемах отображения форм.

17.2 Управляющие элементы

задается атрибутом name . Областью действия атрибута name для управляющего элемента в элементе FORM является элемент FORM .

Каждый управляющий элемент имеет начальное и текущее значение, оба они являются символьными строками. Информацию о начальных значениях и возможных ограничениях на значения см. в определении управляющего элемента. В общем случае управляющего элемента может задаваться с помощью атрибута value . Однако исходное значение элемента TEXTAREA задается его содержимым, а исходное значение элемента OBJECT в форме определяется реализацией объекта (т.е лежит вне области, рассматриваемой в данной спецификации).

управляющего элемента сначала устанавливается равным начальному значению. Затем текущее значение может изменяться пользователем или скриптами.

Начальное значение управляющего элемента не изменяется. Таким образом при сбросе формы каждое текущее значение устанавливается равным начальному значению. Если управляющий элемент не имеет начального значения, результат сброса формы непредсказуем.

Когда форма предоставляется для обработки, с формой передаются пары управляющий элемент-текущее значение. Передаваемые пары имя/значение называются успешными управляющими элементами.

17.2.1 Типы управляющих элементов

В HTML определены следующие типы управляющих элементов: кнопки Авторы могут создавать три типа кнопок:

  • кнопки отправки : При активизации такой кнопки производится отправка формы. В форме может быть несколько кнопок отправки.
  • кнопки сброса : При активизации такой кнопки для всех управляющих элементов устанавливаются исходные значения.
  • прочие кнопки : Для таких кнопок действие по умолчанию не определено. С атрибутами событий каждой такой кнопки могут быть связаны клиентские скрипты. Если происхходит событие (например, пользователль нажимает кнопку, отпускает ее и т.д.), включается связанный с событием скрипт.

Авторы должны определять язык скрипта для кнопок в объявлении скрипта по умолчанию (в элементе META ).

Авторы создают кнопки с помощью элемента BUTTON или INPUT . Подробнее об определении различных типов кнопок см. в определении этих элементов.

Примечание. Авторам следует обратить внимание на то, что элемент BUTTON предоставляет более широкие возможности представления кнопки, чем элемент INPUT .

При отправке формы успешными могут стать только включенные переключатели. Несколько флажков в форме могут иметь одно и то же имя управляющего элемента. Таким образом, например, флажки позволяют пользователям выбрать несколько значений для одного и того же свойства. Для создания флажков используется элемент INPUT . кнопки с зависимой фиксацией Кнопки с зависимой фиксацией похожи на флажки за исключением того, что, если несколько кнопок используют одно и то же имя управляющего элемента, они являются взаимоисключающими: если одна кнопка включена, другие обязательно выключены. Для создания кнопок с зависимой фиксацией используется элемент INPUT . меню Предоставляют пользователям варианты на выбор. Меню создается с помощью элемента SELECT , а также элементов OPTGROUP и OPTION . текстовый ввод Для ввода текста пользователем авторы могут создавать управляющие элементы двух типов. Элемент INPUT создает управляющий элемент для ввода текста из одной строки, а элемент TEXTAREA — элемент для ввода текста из нескольких строк. В обоих случаях вводимый текст становится текущим значением управляющего элемента. выбор файлов Управляющие элементы этого типа позволяют пользователям выбирать файлы, содержимое которых может передаваться вместе с формой. Для создания этого управляющего элемента используется элемент INPUT . скрытые управляющие элементы Авторы могут создавать управляющие элементы, не представляемые пользователям, но имеющие значения, которые передаются с формой. Обычно они используются для хранения информации между обменом клиент/сервер, которая в противном случае могла бы пропасть вследствие stateless природы протокола HTTP (см. [RFC2068]). Для создания скрытого управляющего элемента используется элемент INPUT . объекты Авторы могут помещать в формы общие объекты, так что связанные с ними значения будут передаваться с другими управляющими элементами. Для создания таких управляющих элементов используется элемент OBJECT .

Элементы, используемые для создания управляющих элементов, обычно располагаются в элементе FORM , но могут находиться и за пределами объявления FORM , если они используются для построения интерфейса пользователя. Это обсуждается в разделе о внутренних событиях. Обратите внимание, что управляющие элементы за пределами формы не могут быть успешными.

17.3 Элемент FORM

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов action = uri [CT] Задает агента для обработки формы. Например, значением может быть URI HTTP (для передачи формы в программу) или mailto URI (для отправки формы по электронной почте). method = get|post [CI] Определяет метод HTTP, используемый для передачи набора данных формы. Возможные значения (с учетом регистра) — «get» (по умолчанию) и «post». Подробнее см. в разделе об отправке формы. enctype = content-type [CI] Этот атрибут задает тип содержимого, используемый для отправки формы на сервер (если для метода используется значение «post»). По умолчанию для этого атрибута используется значение «application/x-www-form-urlencoded» . С элементом INPUT , type =»file» должно использоваться значение «multipart/form-data» . accept-charset = список наборов символов [CI] Этот атрибут задает список кодировок символов для ввода данных, которые должны приниматься обрабатывающим эту форму сервером. Значением является разделенный пробелами и/или запятыми список значений charset. Сервер должен интерпретировать этот список как список исключающих или, то есть он должен принимать любую кодировку для загруженного объекта.

По умолчанию значением этого атрибута является зарезервированная строка «UNKNOWN». Агенты пользователей могут интерпретировать это значение как кодировку символов, используемую для передачи документа, содержащего этот элемент FORM . accept = content-type-list [CI] Этот атрибут определяет разделенным запятыми список типов содержимого, которые должен корректно обрабатывать сервер, обрабатывающий форму. Агенты пользователей могут использовать эту информацию для отфильтровывания отвечающих спецификации файлов при предложении пользователю выбора файлов для отправки на сервере (если в элементе INPUT указано type =»file»).

Элемент FORM служит контейнеров для управляющих элементов. Он определяет:

  • Макет формы (дается содержимым элемента).
  • Программу, которая будет обрабатывать заполенную и переданную форму (атрибут action ). Получающая форму программа должна иметь возможность определения пар имя/значение, чтобы их использовать.
  • Метод отправки данных на сервер (атрибут method ).
  • Кодировку символов, которая должна приниматься сервером для обработки этой формы (атрибут accept-charset ). Агенты пользователей могут рекомендовать пользователю значение атрибута accept-charset и/или не позволять пользователям вводить нераспознаваемые символы.

Форма помимо управляющих элементов может содержать текст и разметку (абзацы, списки и т.д.).

В следующем примере показана форма, которая должна обрабатываться программой «adduser». Эта форма будет отправляться с использованием метода HTTP «post».

В следующем примере показана отправка формы на адрес электронной почты:

Информацию о том, как агенты пользователя должны подготавливать данные формы для серверов и как они должны обрабатывать ответы от сервера Вы можете найти в разделе об отправке формы.

Примечание. Дальнейшее обсуждение поведения серверов, принимающих данные формы, лежит вне области, рассматриваемой в данной спецификации.

17.4 Элемент INPUT

Начальный тег: обязателен, Конечный тег: запрещен

Определения атрибутов type = text|password|checkbox|radio|submit|reset|file|hidden|image|button [CI] Определяет тип управляющего элемента. По умолчанию используется значение «text». name = cdata [CI] Определяет имя управляющего элемента. value = cdata [CA] Определяет начальное значение управляющего элемента. Этот атрибут не обязателен, если только для атрибута type не установлено значение «radio». size = cdata [CN] Сообщает агенту пользователя начальную ширину управляющего элемента. Ширина дается в пикселах, если для атрибута type не установлено значение «text» или «password». В этом случае ширина задается в числе символов (число должно быть целым). maxlength = число [CN] Если для атрибута type установлено значение «text» или «password», этот атрибут определяет максимальное число символов, вводимых пользователем. Это число может превышать указанный в атрибуте size размер поля; в этом случае агент пользователя должен обеспечивать механизм прокрутки. По умолчанию число символов не ограничено. checked [CI] Если для атрибута type установлено значение «radio» или «checkbox», этот логический атрибут указывает, что флажок установлен. Агенты пользователей должны игнорировать этот атрибут для других типов управляющих элементов. src = uri [CT] Если атрибут type имеет значение «image», этот атрибут определяет местоположение изображения, используемое для представления графической кнопки.

Атрибуты, определяемые в другом месте

Тип управляющего элемента, определяемый элементом INPUT , зависит от значения атрибута type : text Создает элемент для ввода текста из одной строки. password Аналогичен значению «text», но вводимый текст представляется таким образом, чтобы не отображать символы (например, в виде ряда звездочек). Этот управляющий элемент часто используется для ввода паролей. Обратите внимание, что текущим значением является текст, введенный пользователем, а не текст, представляемый агентом пользователя.

Примечание. Разработчикам приложений следует обратить внимание на то, что этот механизм обеспечивает только слабую защиту. Хотя пароль маскируется агентом пользователя от случайных наблюдателей, он передается на сервер в виде открытого текста, и его может прочесть любой пользователь, имеющий доступ к сети на низком уровне.

Если для щелчка на изображении используется указующее устройство, на сервер передаются форма и координаты щелчка. Значение x измеряется в пикселах от левой границы изображения, а значение y — в пикселах от верхней границы изображения. В передаваемые данные включаются последовательности имя.x=значение-x и name.y=значение-y, где «имя» — значение атрибута name , а значение-x и значение-y — значения координат x и y соответственно.

Если сервер предпринимает различные действия в зависимости от места щелчка, пользователи неграфических браузеров не смогут воспользоваться этим свойством. По этой причине авторам следует предусматривать альтернативные подходы:

  • Использовать несколько кнопок отправки (каждая с отдельным изображением) вместо одной графической кнопки. Можно использовать для управления местоположением этих кнопок таблицы стилей.
  • Использовать клиентские изображения-карты и скрипты.

reset Создает кнопку сброса.button Создает другую кнопку. Агенты пользователей должны использовать в качестве метки на кнопке значение атрибута value . hidden Создает невидимый управляющий элемент.file Создает управляющий элемент выбор файла. Агенты пользователей могут использовать значение атрибута value в качестве исходного имени файла.

17.4.2 Примеры форм с управляющими элементами типа INPUT

В следующем фрагменте кода HTML определяется простая форма, позволяющая пользователям вводить имя, фамилию, адрес электронной почты и пол. В случае активизации кнопки отправки форма передается программе, указанной в атрибуте action .

Эта форма может представляться следующим образом:

В разделе об элементе LABEL мы обсудим разметку меток типа «First name».

В следующем примере в случае события «onclick» включается функция JavaScript с именем verify:

Подробнее о скриптах и событиях Вы можете узнать в разделе о внутренних событиях.

В следующем примере показано, как содержимое указанного пользователем файла -может передаваться вместе с формой. У пользователя запрашивается имя и список имен файлов, содержимое которых должно передаваться с формой. С помощью указания значение enctype для «multipart/form-data» содержимое всех файлов будет упаковываться для передачи в отдельные разделы существующего документа.

17.5 Элемент BUTTON

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутовname = cdata[CI] Определяет имя управляющего элемента.value = cdata[CS] Определяет начальное значение кнопки. type = submit|button|reset [CI] Объявляет тип кнопки. Возможные значения:

  • submit: Создает кнопку отправки. Это значение используется по умолчанию.
  • reset: Создает кнопку сброса.
  • button: Создает другую кнопку.

Атрибуты, определяемые в другом месте

Кнопки, создаваемые с помощью элемента BUTTON , действуют так же, как и кнопки, создаваемые с помощью элемента INPUT , но они обеспечивают более богатые возможности представления: элемент BUTTON может иметь содержимое. Например, элемент BUTTON , содержащий изображение, действует и может resemble подобно элементу INPUT , для атрибута type которого установлено значение «image», но тип элемента BUTTON может иметь содержимое content.

Визуальные агенты пользователей могут представлять кнопки BUTTON рельефно или с эффектом нажатия при щелчке мыши, в то время как кнопки INPUT могут представляться только как «плоские» изображения.

В следующем примере предыдущий пример расширяется, и кнопки отправки и сброса создаются с помощью элемента BUTTON вместо элемента INPUT . Используемое для кнопок изображение определяется элементом IMG .

Помните, что авторам следует предусматривать альтернативный текст для элемента IMG .

Не допускается связывать изображение-карту с элементом IMG , содержащимя в элементе BUTTON element.

ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:
В следующем примере представлен недопустимый код HTML.

17.6 Элементы SELECT , OPTGROUP и OPTION

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов элемента SELECT name = cdata [CI] Определяет имя управляющего элемента. size = number [CN] Если элемент SELECT представлен в виде списка с возможностью прокрутки, этот атрибут определяет число строк в списке, видимых в один момент времени. Визуальные агенты пользователей не обязательно должны представлять элемент SELECT в виде списка; они могут использовать другие механизмы — например, выпадающие меню. multiple [CI] Если этот логический атрибут установлен, он позволяет выбирать несколько пунктов. Если он не установлен, в элементе SELECT можно выбрать только один вариант.

Элемент SELECT создает меню. Каждый вариант пункт меню представляется элементом OPTION . Элемент SELECT должен содержать хотя бы один элемент OPTION .

Элемент OPTGROUP element позволяет авторам логически группировать варианты. Обычно это полезно, если пользователь должен делать выбор в длинном списке вариантов; группы связанных вариантов проще просматривать и запоминать, чем один длинный список вариантов. В HTML 4.0 все элементы OPTGROUP должны задаваться непосредственно в элементе SELECT (т.е. группы не могут быть вложенными).

17.6.1 Заранее выбранные варианты

Варианты могут быть выбраны заранее. Агенты пользователей должны определять, какие варианты выбраны, следующим образом:

  • Если ни для одного элемента OPTION не установлен атрибут selected , ни один вариант заранее не выбран.
  • Если для одного элемента OPTION установлен атрибут selected , этот вариант должен быть выбран зарнее.
  • Если для элемента SELECT установлен атрибут multiple , и для нескольких элементов OPTION установлен атрибут selected , они должны быть выбраны заранее.
  • Считается ошибкой, если для нескольких элементов OPTION установлен атрибуто selected , а для элемента SELECT не установлен атрибут multiple . Агенты пользователей могут по-разному обрабатывать эту ошибку, но не должны заранее выбирать более одного варианта.

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов элемента OPTGROUP label = text [CS] Метка группы вариантов.

Атрибуты, определяемые в другом месте

Примечание. Разработчикам рекомендуется иметь в виду, что в будущих версиях HTML механизм группировки может быть расширен для подержки вложенных групп (т.е. элементы OPTGROUP смогут быть вложенными). Это позволит авторам представлять более сложную иерархию вариантов.

Начальный тег: обязателен, Конечный тег: optional

Определения атрибутов элемента OPTION selected [CI] Если этот логический атрибут установлен, этот вариант выбран заранее. value = cdata [CS] Определяет исходное значение управляющего элемента. Если этот атрибут не установлен, исходное значение устанавливается равным содержимому элемента OPTION . label = text [CS] Позволяет авторам определить более короткую метку для варианта, чем содержимое элемента OPTION . Если этот атрибут определен, агенты пользователей должны использовать его значение вместо содержимого элемента OPTION в качестве метки варианта.

Атрибуты, определяемые в другом месте

При представлении пункта меню агенты пользователей должны использовать значение атрибута label элемента OPTION в качестве выбора. Если этот атрибут не определен, агенты пользователей должны использовать содержимое элемента OPTION .

Атрибут label элемента OPTGROUP определяет метку группы вариантов.

В этом примере мы создадим меню, позволяющее пользователю выбрать, какую из семи программ установить. Первая и вторая программы выбраны заранее, но пользователь может отменить их выбор. Остальные программы заранее не выбраны. Атрибут size определяет, что меню должно занимать 4 строки, хотя пользователь и имеет 7 вариантов. Доступ к другим вариантам должен обеспечиваться с помощью механизма прокрутки.

За элементом SELECT следуют кнопки отправки и сброса.

Успешными будут только выбранные варианты (с использованием имени управляющего элемента «component-select»). Обратите внимание, что, если установлено значение атрибута value , оно определяет исходное значение управляющего элемента, в противном случае это будет содержимое элемента.

В этом примере мы используем элемент OPTGROUP для группировки вариантов. Следующая разметка:

представляет следующую группировку:

Визуальные агенты пользователей могут обеспечивать выбор в группах вариантов с помощью иерархических меню или с использованием любого другого механизма, отражающего структуру вариантов.

Графические агенты пользователей могут представлять это следующим образом:

Здесь показан элемент SELECT , представленный в виде каскадных меню. В вершине меню представлено выбранное в настоящий момент значение (PortMaster 3, 3.7.1). У пользователя имеется unfurled два каскадных меню, но он еще не выбрал новое значение (PortMaster 2, 3.7). Обратите внимание, что в каждом каскадном меню отображается метка элемента OPTGROUP или OPTION .

17.7 Элемент TEXTAREA

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов name = cdata [CI] Имя управляющего элемента. rows = number [CN] Число видимых текстовых строк. Пользователи должны иметь возможность вводить большее количество строк, поэтому агенты пользователей должны обеспечивать средства прокрутки этого управляющего элемента, если содержимое уходит за пределы видимой области. cols = number [CN] Видимая ширина, выраженная шириной среднего символа. Пользователи должны иметь возможность вводить более длинные строки, поэтому агенты пользователей должны обеспечивать средства прокрутки этого управляющего элемента, если содержимое уходит за пределы видимой области. Агенты пользователей могут разбивать видимые тестовые строки, чтобы длинные строки были видны без прокрутки.

Атрибуты, определяемые в другом месте

Элемент TEXTAREA создает управляющий элемент для многострочного ввода текста. Агенты пользователей должны использовать содержимое этго элемента как исходное значение управляющего элемента и представлять этот текст сначала.

В этом примере создается управляющий элемент TEXTAREA в 20 строк и 80 столбцов, в котором изначально имеется две строки текста. За элементом TEXTAREA следуют кнопки отправки и сброса.

Устанвока атрибута readonly позволяет авторам отображать неизменяемый текст в элементе TEXTAREA . В отличие от стандартной разметки текста в документе, при такой разметке значение элемента TEXTAREA передается с формой.

17.8 Элемент ISINDEX

ISINDEX является нежелательным. Этот элемент создает управляющий элемент для ввода текста из одной строки. Авторам следует использовать для создания управляющих элементов для ввода текста элемент INPUT .

Формальное определение см. в Transitional DTD.

Определения атрибутов prompt = text [CS] Нежелателен. Задает строку запроса для поля ввода.

Атрибуты, определяемые в другом месте

Элемент ISINDEX создает управляющий элемент для ввода текста из одной строки, в который можно ввести любое число симвлов. Агенты пользователей могут использовать значение атрибута prompt в качестве запроса.

ПРИМЕР НЕЖЕЛАТЕЛЬНОГО ИСПОЛЬЗОВАНИЯ:
Следующее объявление ISINDEX :

можно переписать с использованием элемента INPUT следующим образом:

Семантика элемента ISINDEX. В настоящее время семантика элемента ISINDEX точно определена, только если базовый URI для влключающего элемента является URI HTTP. На практике в эту строку можно вводить только символы в кодировке Latin-1, поскольку для URI нет механизма задания другого набора символов.

17.9 Метки

С некоторыми управляющими элементами формы могут автоматически связываться метки (например, с кнопками), с другими элементами метки не связываются (текстовые поля, флажки и кнопки с зависимой фиксацией и меню).

Для управляющих элементов с неявными метками агенты пользователей должны использовать в качестве метки значение атрибута value .

Элемент LABEL используется для задания меток для управляющих элементов, не имеющих неявных меток.

17.9.1 Элемент LABEL

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов for = idref [CS] Явно связывает определяемую метку с другим управляющим элементом. Если указано значение этого атрибута, оно должно совпадать со значением атрибута id другого управляющего элемента в этом же документе. Если этот атрибут не указан, определяемая метка связывается с содержимым элемента.

Атрибуты, определяемые в другом месте

Элемент LABEL может использоваться для прикрепления к управляющим элементам информации. Каждый элемент LABEL связан ровно с одним управляющим элементом формы.

Атрибут for явно связывает метку с другим управляющим элементом: значение атрибута for должно совпадать со значением атрибута id связанного управляющего элемента. С одним и тем же управляющим элементом может быть связано несколько элементов LABEL , если создать несколько ссылок с помощью атрибута for .

В этом примере мы создадим таблицу, которая используется для выравнивания двух элементов для ввода текста и связанные с ними метки. Каждая метка явно связана с одним из полей вода:

Здесь мы расширим предыдущий пример и включим элементы LABEL .

Чтобы неявно связать метку с другим управляющим элементом, этот управляющий элемент должен находиться в элементе LABEL . В таком случае элемент LABEL может содержать только один управляющий элемент. Сама метка может располагаться до или после связанного с ней управляющего элемента.

В этом примере мы неявно связываем две метки с двумя управляющими элементами для ввода текста:

Обратите внимание, то такая технология не может использоваться, если таблицы используются для форматирования документов, и метка находится в одной ячейке, а связанный с ней управляющий элемент в другой.

Если на элемент LABEL переходит фокус, то он передается в связанный управляющий элемент. Примеры см. ниже в разделе о клавишах доступа.

Метки могут представляться агентами пользователей несколькими способами (например, визуально, прочитываться синтезаторами речи и т.д.)

17.10 Добавление в формы структуры: элементы FIELDSET и LEGEND

Начальный тег: обязателен, Конечный тег: обязателен

LEGEND Определения атрибутов

align = top|bottom|left|right [CI]Нежелателен. Определяет положение legend относительно набора полей. Возможные значения:

  • top: legend располагается сверху набора полей. Это значение используется по умолчанию.
  • bottom: legend располагается внизу набора полей.
  • left: legend располагается в левой части набора полей.
  • right: legend располагается в правой части набора полей.

Атрибуты, определяемые в другом месте

Элемент FIELDSET позволяет авторам группировать связанные метки и управляющие элементы по темам. Группировка управляющих элементов упрощает пользователям понимание назначения элементов, одновременно упрощая переход по клавише tab для визуальных агентов пользователей и речевую навигацию для звуковых агентов пользователей. Корректное использование этого элемента повышает доступность документов.

Элемент LEGEND позволяет авторам назначать заголовки для элемента FIELDSET . Legend повышает доступность, если элемент FIELDSET представляется невизуально.

В этом примере мы создадим форму, которую можно заполнять на приеме у врача. Она имеет три раздела: личная информация, история болезни и текущее лечение. В каждом разделе имеются управляющие элементы для ввода соответствующей информации.

Обратите внимание, что в этом примере мы можем улучшить визуальное представление формы, добавив элементы в каждый элемент FIELDSET (с помощью таблиц стилей), добавив информацию о цвете и шрифте (с помощью таблиц стилей), добавив скрипты (например, чтобы область «текущее лечение» открывалась, только если пользователь указывает, что он проходит лечение) и т.д. /samp

17.11 Переход фокуса на элемент

В документе HTML, чтобы стать активным и выполнить свои задачи, элемент должен получить от пользователя. Например, пользователи должны активизировать ссылку, задаваемую элементом A , чтобы перейти к связанному документу. Точно так же пользователи должны перевести фокус на элемент TEXTAREA , чтобы в него можно было вводить текст.

Имеется несколько способов передачи фокуса элементу:

  • Указать элемент с помощью указательного устройства.
  • Перейти с одного элемента на другой с помощью клавиатуры. Автор документа может определить последовательность перехода, определяющую порядок получения элементами фокуса при переходе пользователя по документу с помощью клавиатуры (см. переход по клавише tab). Выбранный элемент можно активизировать с помощью другой последовательности клавиш.
  • Выбрать элемент с помощью клавиши доступа (иногда называется «клавиатурным сокращением»).

17.11.1 Переход с помощью клавиши Tab

tabindex = number [CN] Определяет положение текущего элемента в последовательности перехода для текущего документа. Значение должно лежать в диапазоне от 0 до 32767. Агенты пользователей должны игнорировать начальные нули.

определяет порядок получения фокуса элементами при переходе с помощью клавиатуры. Последовательность перехода может включать элементы, вложенные в другие элементы.

Переход к элементам, которые могут получать фокус, должен осуществляться агентами пользователей в соответствии со следующими правилами:

  1. Переход к элементам, поддерживающим атрибут tabindex , которому назначено положительное значение, должен осуществляться в первую очередь. Переход производится от элементов с наименьшим значением атрибута tabindex до элементов с наивысшим значением. Значения не обязательно должны быть последовательными и не обязательно должны начинаться с какого-то конкретного значения. Переход к элементам с одинаковыми значениями атрибута tabindex должен осуществляться в порядке их нахождения в потоке символов.
  2. Переход к элементам, не поддерживающим атрибут tabindex или элементам, у которых значением этого атрибута является «0», выполняется в следующую очередь. Переход к этим элементам производится в порядке их нахождения в потоке символов.
  3. Отключенные элементы не участвуют в последовательности перехода.

Следующие элементы поддерживают атрибут tabindex : A , AREA , BUTTON , INPUT , OBJECT , SELECT и TEXTAREA .

В этом примере последовательность перехода будет включать элементы BUTTON , INPUT в порядке (обратите внимание, что «field1» и кнопка используют одно и то же значение атрибута tabindex, но «field1» находится потоке в потоке символов), и наконец, ссылка, создаваемая элементом A .

Клавиши перехода. Фактическая последовательность клавиш, обеспечивающая переход или активизацию элемента, зависит от конфигурации агента пользователя (например, клавиша «tab» используется для перехода, а клавиша «enter» — для активизации выбранного элемента).

Агенты пользователей могут также определять последовательности клавиш для перехода в обратном порядке. По достижении конца (или начала) последовательности агенты пользователей могут переходить в начало (или в конец).

17.11.2 Клавиши доступа

accesskey = character [CN] Назначает для элемента клавишу доступа. Клавиша доступа — это один символ из набора символов документа. Примечание. При определении клавиши доступа авторы должны учитывать способ ввода, который, скорее будет использоваться читателем.

Нажатие назначенной элементу клавиши доступа передает элементу фокус. Действие, происходящее по получении элементом фокуса, зависит от элемента. Например, если пользвоатель активизирует ссылку, определяемую элементом A , агент пользователя обычно производит переход по ссылке. Если пользователь активизирует кнопку с зависимой фиксацией, агент пользователя изменяет значение кнопки. Если пользователь активизирует текстовое поле, в него разрешается ввод и т.д.

Следующие элементы поддерживают атрибут accesskey : A , AREA , BUTTON , INPUT , LABEL , LEGEND и TEXTAREA .

В этом примере клавиша доступа «U» назначается метке, связанной с управляющим элементом INPUT . Нажатие клавиши доступа переводит фокус на метку, которая, в свою очередь, передает его связанному с ней управляющему элементу. После этого пользователь может ввести текст в область INPUT .

В этом примере мы назначаем клавишу доступа ссылке, определяемой элементом A . Нажатие этой клавиши приведет к переходу пользователя в другой документ, в данном случае — в оглавление.

Использование клавиши доступа зависит от системы. Например, на машинах под управлением MS Windows обычно вместе с клавишей доступа нужно нажимать клавишу «alt». В системах Apple обычно требуется нажатие клавиши «cmd».

Представление клавиши доступа зависит от агента пользователя. Авторам рекомендуется включать клавиши доступа в текст метки или туда, где применяется клавиша доступа. Агенты пользователей должны представлять значение клавиши доступа таким образом, чтобы подчеркнуть ее роль и дать отличить ее от других символов (например, с помощью подчеркивания).

17.12 Отключенные управляющие элементы и элементы только для чтения

В контекстах, где ввод пользователя нежелателен или не требуется, важна возможность отключения управляющего элемента или представление его только для чтения. Например, можно отключить кнопку отправки формы до ввода некоторых обязательных данных. Аналогично, автор может включить текст только для чтения, который должен передаваться с формой как значение. В следующих разделах описываются отключенные управляющие элементы и элементы только для чтения.

17.12.1 Отключенные управляющие элементы

disabled [CI] Если этот атрибут установлен для управляющего элемента формы, ввод пользователем в этот элемент невозможен.

Если атрибут disabled установлен, он влияет на элемент следующим образом:

  • К отключенным элементам не переходит фокус.
  • Отключенные элементы не участвуют в переходе по клавише tab.
  • Отключенные управляющие элементы не могут быть успешными.

Атрибут disabled поддерживают следующие элементы: BUTTON INPUT , OPTGROUP , OPTION , SELECT и TEXTAREA .

Этот атрибут наследуется, но локальные объявления имеют приоритет над наследуемым значением.

Представление отключенных элементов зависит от агента пользователя. Например, некоторые агенты пользователей «выделяют серым» отключенные пункты меню, метки кнопок и т.д.

В этом примере элемент INPUT отключен. Таким образом, пользователь не может ввести туда текст, и его значение не будет передаваться с формой.

Примечание. Единственным способом динамического изменения значения атрибута disabled является использование скрипта.

17.12.2 Управляющие элементы только для чтения

readonly [CI] Если этот атрибут установлен для управляющего элемента формы, изменение значения этого элемента невозможно.

Атрибут readonly определяет, может ли пользователь изменять содержимое управляющего элемента.

Если атрибут readonly установлен, он влияет на элемент следующим образом:

  • К элементам только для чтения переходит фокус, но пользователь не может изменять их.
  • Элементы только для чтения входят в последовательность перехода.
  • Элементы только для чтения могут быть успешными.

Атрибут readonly поддерживают следующие элементы: INPUT , TEXT , PASSWORD и TEXTAREA .

Представление элементов только для чтения зависит от агента пользователя.

Примечание. Единственным способом динамического изменения значения атрибута только для чтения является использование скриптов.

17.13 Отправка формы

В следующих разделах объясняется передача данных формы агентами пользователей агентам обработки форм.

17.13.1 Метод отправки формы

Атрибут method элемента FORM определяет метод HTTP, используемый для отправки формы в агент обработки. Этот атрибут может принимать два значения:

  • get: С использованием метода HTTP «get» набор данных формы добавляется к URI, указанному в атрибуте action , и этот новый URI отправляется в агент обработки.
  • post: С использованием метода HTTP «post» набор данных формы включается в тело формы и отправляется в агент обработки.

Метод «get» следует использовать, если форма is idempotent (то есть не вызывает побочных эффектов). Большое число операций поиска в базе данных не имеет видимых побочных эффектов и представляет собой идеальное приложение для метода «get».

Если обслуживание, связанное с обработкой формы, вызывает побочные эффекты (например, если форма изменяет базу данных или производит подписку н услуги), следует использовать метод «post».

Примечание. При использовании метода «get» набор данных формы должен включать только символы набора ASCII. Только с методом «post» (с атрибутом enctype =»multipart/form-data») можно использовать весь набор символов [ISO10646].

17.13.2 Успешные управляющие элементы

«подходит» для отправки. Каждый успешный управляющий элемент имеет имя и текущее значение; эта пара является частью передаваемого набора данных формы. Успешный управляющий элемент должен определяться в элементе FORM и должен иметь имя.

Однако:

  • Отключенные управляющие элементы не могут быть успешными .
  • Если в форме содержится несколько кнопок отправки, успешной является только активизированная кнопка.
  • Успешными могут быть все «включенные» флажки.
  • Для кнопок с зависимой фиксацией с одним и тем же значением атрибута name , успешной может быть только «включенная» кнопка.
  • Для менюимя управляющего элемента задается элементом SELECT , а значения — элементами OPTION . Успешными могут быть только выбранные пункты.
  • Текущее значение элемента выбора файлов является список из одного или нескольких имен файлов. После отправки формы содержимое каждого файла передается с остальными данными формы. Содержимое файла упаковывается в соответствии с типом содержимого формы.
  • Текущее значение управляющего элемента объекта определяется реализацией объекта.

Если управляющий элемент не имеет текущего значения во время отправки формы, агенты пользователей не обязательно должны обрабатывать его как успешный.

Более того, агенты пользователей не должны считать успешными следующие управляющие элементы:

  • Кнопку сброса.
  • Элементы OBJECT , у которых установлен атрибут declare .

Скрытые управляющие элементы и управляющие элементы, не представляемые благодаря таблицам стилей могут быть успешными. Например:

В этом случае значению будет сопоставлено имя «invisible-password», и оно будет передаваться с формой.

17.13.3 Обработка данных формы

Когда пользователь отправляет форму (например, активизировав кнопку отправки), агент пользователя обрабатывает ее следующим образом.

Первый шаг: Определение успешных управляющих элементов


Второй шаг: Построение набора данных формы

Затем набор данных формы кодируется в соответствии с типом содержимого, определяемого атрибутом enctype элемента FORM .

Наконец, закодированные данные отправляются обрабатывающему агенту, назначаемому атрибутом action , по протоколу, указанному в атрибуте method .

В данной спецификации не определяются все допустимые способы отправки или типы содержимого, которые могут использоваться с формами. Однако агенты пользователей HTML 4.0 должны поддерживать установленные соглашения в следующих случаях:

  • Если для атрибута method установлено значение «get», а для атрибута action указан HTTP URI, агент пользователя принимает значение атрибута action , добавляет к нему `?’ , затем добавляет набор данных формы, закодированный с использованием типа содержимого «application/x-www-form-urlencoded». Затем агент пользователя переходит по ссылке на этот URI. В этом сценарии данные формы ограничиваются кодами ASCII.
  • Если для атрибута method установлено значение «post», а для атрибута action — HTTP URI, агент пользователя выполняет транзакцию HTTP «post» с использованием значения атрибута action и сообщения, созданного в соответствии с типом содержимого, указанным в атрибуте enctype attribute.

Для других значений атрибута action или method поведение не определено.

Агенты пользователей должны представлять ответ на транзакции HTTP «get» и «post».

17.13.4 Типы содержимого формы

Атрибут enctype элемента FORM определяет тип содержимого, используемый для кодирования набора данных формы для передачи на сервер. Агенты пользователей должны поддерживать перечисленные ниже типы содержимого. Поведение для других типов содержимого не определено.

application/x-www-form-urlencoded

Этот тип содержимого используется по умолчанию. Формы, передаваемые с этим типом содержимого, должны быть закодированы следующим образом:

  1. Имена и значения управляющих элементов are escaped. Неотображаемые символы заменяются `+’ , после чего зарезервированные символы are escaped, как описано в [RFC1738], раздел 2.2: Неарифметические символы заменяются `%HH’ , знаком процентов с последующими шестнадцатеричными цифрами, представляющими ASCII-код символа. Разрывы строк представляются парами «CR LF» (т.е. `%0D%0A’ ).
  2. Имена/значения управляющих элементов перечисляются в том порядке, в котором они отображаются в документе. Имя отделяется от значения с помощью символа `=’ , а пары имя/значение отделяются друг от друга символом `&’ .

multipart/form-data

Примечание. Дополнительную информацию о вопросах совместимости с предыдущими версиями, об отношении типа содержимого «multipart/form-data» и других типов содержимого, о проблемах работы и т.д. см. в [RFC1867].

Информацию о защите форм см. в приложении.

Тип «application/x-www-form-urlencoded» неэффективен для отправки большого количества двоичных данных или текста, содержащего символы, не входящие в набор ASCII. Тип «multipart/form-data» следует использовать для отправки форм, содержащих файлы, данные, не входящие в набор ASCII и двоичные данные.

В содержимом «multipart/form-data» используются правила всех составных потоков данных MIME, как описано в [RFC2045]. Определение типа «multipart/form-data» можно найти в реестре [IANA].

Сообщение типа «multipart/form-data» состоит из нескольких частей, каждая их которых представляет успешный управляющий элемент. Части отправляются обрабатывающему агенту в том порядке, в котором соответствующие управляющие элементы представлены в потоке документа. Границы частей не должны находиться в данных; обеспечение этого требования лежит вне области, рассматриваемой в данной спецификации.

Как и во всех составных типах MIME, каждая часть имеет необязательный заголовок «Content-Type», для которого по умолчанию устанавливается значение «text/plain». Агенты пользователей должны предоставлять заголовок «Content-Type» с параметром «charset».

Каждая часть должна содержать:

  1. заголовок «Content-Disposition», имеющий значение «form-data».
  2. атрибут именования, определяющий имя соответствующего управляющего элемента. Имена управляющих элементов, изначально закодированные с использованием наборов символов, отличных от ASCII, могут кодироваться с помощью метода, описанного в [RFC2045].

Например, для управляющего элемента с именем «mycontrol» соответствующая часть может выглядеть так:

Как и во всех процессах передачи данных MIME, для разделения строк данных используется комбинация «CR LF» (т.е. `%0D%0A’ ).

Может кодироваться каждая часть с указанием заголовка «Content-Transfer-Encoding», если значение этой части не соответствует кодировке по умолчанию (7BIT) (см. [RFC2045], раздел 6)

Если содержимое файла передается с формой, файловый ввод должен определяться соответствующим типом содержимого (например, «application/octet-stream»). Если в результате одного элемента формы должны быть возвращены несколько файлов, они должны возвращаться как тип «multipart/mixed», внедренный в «multipart/form-data».

Агент пользователя должен попытаться указать имя для каждого передаваемого файла. Имя файла может указываться в параметре «filename» заголовка ‘Content-Disposition: form-data’ или, в случае нескольких полей, в заголовке ‘Content-Disposition: file’ составной части. Если имя файла клиентской операционной системы содержит символы, не входящие в набор US-ASCII, имя файла может изменяться или кодироваться с использованием метода [RFC2045]. Это удобно в случаях, когда, например, выгруженные файлы могут содержать ссылки друг на друга (например, файл TeX и его вспомогательное описание стилей «.sty»).

В следующем примере показана кодировка «multipart/form-data». Предположим, у нас имеется следующая форма:

Если пользователь введет в текстовое поле слово «Larry» и выберет текстовый файл «file1.txt», агент пользователя может отправить следующие данные:

Если пользователь выбрал второй файл (изображение) «file2.gif», агент пользователя может сконструировать части следующим образом:

label

Поддержка браузеров

IE Opera Chrome Firefox Safari
IE6 при клике по тексту, когда поле с текстом находится внутри тега не активирует поле формы + + + +

Пример

Простая форма с двумя полями и связанными метками (ярлыками):

Описание и использование

Тег определяет метку (ярлык) для элемента ввода.

Элемент label скрыт от глаз пользователей. Однако, он предоставляет значительное улучшение юзабилити для тех, кто пользуется мышкой, так как при нажатии юзером на текст внутри элемента label, включаются кнопки управления.

Атрибут for тега должен равняться атрибуту id связанного элемента для связки.

Для чего тег label в html?

Такая связь необходима, чтобы изменять значения элементов формы при нажатии курсором мыши на текст.

По второму предложению существует какой-то пример? Я не понимаю на какой текст надо нажимать и что при этом должно происходить? На какие значения должны меняться элементы формы?

  • Вопрос задан более года назад
  • 270 просмотров

простым языком коротко:

у каждого label есть аттрибут for, который должен совпадать с id инпута или селектора
если этот аттрибут совпадает, то пользователю не нужно целиться в чекбокс, достаточно нажать на текст, заключенный в тегах label, и значение чекбокса сменится на противоположный

Метка элемента формы

Для отображения простого текста на форме, доступного только для чтения, служит элемент Label. Чтобы задать отображаемый текст метки, надо установить свойство Text элемента.

LinkLabel

Особый тип меток представляют элементы LinkLabel, которые предназначены для вывода ссылок, которые аналогичны ссылкам, размещенным на стандартных веб-станиц.

Также, как и с обычными ссылками на веб-страницах, мы можем по отношению к данному элементу определить три цвета:

Свойство ActiveLinkColor задает цвет ссылки при нажатии

Свойство LinkColor задает цвет ссылки до нажатия, по которой еще не было переходов

Свойство VisitedLinkColor задает цвет ссылки, по которой уже были переходы

Кроме цвета ссылки для данного элемента мы можем задать свойство LinkBehavior , которое управляет поведением ссылки. Это свойство принимает четыре возможных значения:

SystemDefault : для ссылки устанавливаются системные настройки

AlwaysUnderline : ссылка всегда подчеркивается

HoverUnderline : ссылка подчеркивается только при наведении на нее курсора мыши

NeverUnderline : ссылка никогда не подчеркивается

По умолчанию весь текст на данном элементе считается ссылкой. Однако с помощью свойства LinkArea мы можем изменить область ссылки. Например, мы не хотим включать в ссылку первые шесть символов. Для этого задаем подсвойство Start :

Чтобы выполнить переход по ссылке по нажатию на нее, надо дополнительно написать код. Данный код должен обрабатывать событие LinkClicked , которое есть у элемента LinkLabel. Например, пусть у нас на форме есть элемент ссылки называется linkLabel1 и который содержит некоторую ссылку:

Чтобы перейти по ссылке, зададим обработчик LinkClicked:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL