Многострочное поле ввода: тег textarea
Если вы внимательно читали предыдущие уроки, то теперь умеете создавать самые простые формы, в которых присутствуют поля для ввода текста и кнопки. Теперь же мы перейдем к изучению более сложных компонентов форм.
Речь пойдет о многострочном текстовом поле. И для его создания используется тег
. Данному тегу присущи такие атрибуты, как name и id. Они аналогичны атрибутам текстового поля.
С помощью атрибута rows, задав ему целочисленное значение, можно указать высоту многострочного поля, измеряемую в строках.
С помощью атрибута cols можно указать ширину поля, которая измеряется в символах. Шириной символа принято считать определенное значение, называемое «усредненной шириной».
Многострочное поле не имеет атрибута value. Чтобы задать значение по умолчанию, следует действовать иначе. А именно, расположить текст внутри тега
. Именно он и будет представлять собой значение по умолчанию.
HTML: Формы
Атрибут name требуется большинству элементов формы, так как его значение передается на сервер и используется серверными сценариями.
Примечание: обратите внимание, что элемент относится к пустым элементам и не имеет закрывающего тега, поэтому перед или после элемента обычно добавляют текст (метка), содержащий информацию о том, какую информацию нужно вводить в текущее поле.
type=»submit» Создает кнопку, при нажатии на которую браузер отправляет форму на сервер: Атрибут value задает текст, который будет отображен на кнопке, заменяя значение установленное по умолчанию. type=»radio» Создает элементы управления, позволяющие выбрать только один вариант из предложенных, то есть такие элементы управления являются взаимозаменяемыми. Они называются радио кнопками или переключателями: Попробовать »
Все радио кнопки, связанные с заданными вариантами значений, должны иметь одинаковое значение атрибута name, но каждая отдельная радио кнопка должна иметь уникальное значение атрибута value.
Примечание: элемент является строчным элементом, поэтому для отображения каждого элемента управления на новой строке нужно добавить после каждого элемента тег
или поместить каждый элемент в абзац (в тег
type=»checkbox» Создает элементы управления, позволяющие пользователям отмечать любое количество вариантов или отменить выбор, не выбрав ни одно из предложенных значений. Такие элементы управления называют флажками. Попробовать »
Все флажки, относящиеся к одной группе, должны иметь одинаковое значение атрибута name, но каждый отдельный вариант должен иметь уникальное значение атрибута value.
Примечание: все допустимые значения атрибута type смотрите в нашем HTML справочнике в описании элемента .
Элемент
создает многострочное текстовое поле. Если в поле введено больше текста, чем может поместится в текстовой области, то с правой стороны появляется полоса прокрутки. Текст, расположенный между открывающим и закрывающим тегом, будет отображаться в текстовом поле в качестве значения по умолчанию:
Атрибут name должен содержать уникальное имя, которое будет идентифицировать данный элемент на серверной стороне. Атрибут rows позволяет указать количество строк, определяющих высоту текстовой области, а cols задает ширину текстовой области в символах.
Выпадающий список
Элемент создает меню, содержащее выпадающий список. Элементы списка задаются с помощью элементов , которые должны располагаться между открывающим и закрывающим тегами элемента :
Элементы и
Для визуального выделения взаимосвязанных элементов формы можно воспользоваться элементом , который добавляет рамку вокруг своих дочерних элементов:
Название (заголовок) для такой группы элементов можно указать с помощью элемента , который должен быть первым дочерним элементом внутри элемента :
Элемент
Можно добавлять текст к элементам формы просто написав его рядом с нужным элементом, но для браузеров и поисковых систем, анализирующих разметку веб-страницы, это будет просто текст, не имеющий прямого отношения ни к одному из элементов формы. Элемент позволяет связать текст с определенным элементом формы, такой текст называется меткой (или ярлыком).
По умолчанию метки визуально не отличаются от обычного текста, однако они позволяют выбирать элементы формы кликая не только на сам элемент, но и на его метку.
Связать метку с элементом формы можно двумя способами: поместить весь элемент формы внутрь элемента или с помощью атрибута for, который в качестве значения принимает идентификатор элемента формы, с которым нужно связать метку:
Метки можно размещать как до так и после элемента управления, связанного с ней, потому что, если значение атрибута for элемента совпадает со значением атрибута id элемента формы, то неважно где будет находиться метка.
Формы в HTML
Формы в HTML — это самая сложная, но с другой стороны, пожалуй самая интересная тема в HTML.
Веб-формы позволяют посетителям сайта внести в специальные поля ту или иную информацию, а разработчику ее получить в удобном для него виде.
Примером формы может служить гостевая книга, анкета, онлайн тест. Формы заполняют при регистрации на сайте, при оформлении заказов в интернет магазине и т.п.
Пользуясь HTML, Вы можете создать каркас формы: текстовые поля, меню, списки, кнопки, флажки и переключатели. То есть те элементы, при помощи которых в форму вносится определенная информация.
Затем данные, внесенные в форму, отправляются на сервер для обработки. Но HTML здесь бессилен — над обработкой формы уже работает программа или скрипт, который к ней привязывается. Такие программы обычно пишут на языке php или javascript.
Атрибуты формы — тег .
Атрибут action является обязательным для любой формы — он указывает адрес к файлу, который обслуживает форму (обрабатывает внесенные в нее данные).
Атрибут method определяет способ отправки содержимого формы. Существует два метода — GET и POST . Сейчас не имеет смысла вникать в эти параметры, так как тема отправки информации методами GET и POST относится к языкам обработки данных (например, PHP). Достаточно знать, что именно метод передачи данных POST в большинстве случаях используется в формах.
Атрибут name тега
Однострочное текстовое поле для ввода текста. Атрибут size задает ширину поля в символах.
«password» maxlength= «10» size= «20» >
Текстовое поле для ввода пароля.
Атрибут maxlength устанавливает максимальное количество символов, которое можно ввести
«radio» name= «radio» value= «1» checked>
«radio» name= «radio» value= «2» >
«radio» name= «radio» value= «3» >
Переключатель.
Возможен выбор лишь одного варианта из предложенных. Атрибут checked определяет заранее помеченное поле.
«checkbox» name= «flag» value= «1» checked>
«checkbox» name= «flag» value= «2» >
«checkbox» name= «flag» value= «3» >
Флажок.
Возможен выбор нескольких вариантов. Атрибут checked определяет заранее помеченное поле.
«button» value= «Кнопка» >
Кнопка.
Атрибут value устанавливает надпись на кнопке.
«reset» value= «Сбросить» >
Кнопка сброса.
Возвращает поля формы к их первоначальному виду. Сброс внесенных данных.
Кнопка для отправки внесенных данных.
Поле для ввода имени пересылаемого файла.
«image» src= «img/buttom.gif» >
Кнопка-изображение.
Служит также для отправки данных на сервер. Атрибут src указывает адрес файла с изображением.
Скрытое поле — невидимое для пользователя.
Раскрывающийся список — теги и
Тег также как и тег служит для сбора информации — он создает список, из которого возможен выбор одного или нескольких элементов. Каждому элементу соответствует какое-либо значение, которое и отправляется на сервер для обработки.
Вид создаваемого списка зависит от значения атрибута size : при size= «1» (значение по умолчанию) список будет раскрывающимся.
Иное значение атрибута size будет соответствовать количеству отображаемых пунктов списка. Например, при size= «3» , видимыми будут три элемента. Для просмотра остальных пунктов списка (если таковые есть) следует воспользоваться вертикальной полосой прокрутки, которая добавляется автоматически.
По умолчанию возможен выбор лишь одного элемента списка. Добавление атрибута multiple к тегу позволяет выбрать несколько пунктов списка с помощью мыши и клавиш Ctrl и Shift.
При наличии атрибута multiple , будут отображены все пункты списка или их часть (в зависимости от браузера), если атрибутом size не установлено определенное количество видимых пунктов.
Обязательным элементом раскрывающегося списка является тег . Он располагается внутри тега и создает каждый пункт списка.
При помощи атрибута name тега списку дается имя, а при помощи атрибута value тега элементу списка присваивают значение. Таким образом на сервер отправляется пара «имя=значение» — имя списка и значение выбранного элемента/ов.
Атрибут selected тега определяет заранее выделенный пункт списка, а атрибут disabled блокирует элемент списка — его нельзя выбрать.
HTML формы
Форма в HTML это часть документа, которая позволяет пользователю ввести интересующую нас информацию, которую впоследствии можно принять и обработать на стороне сервера. Другими словами, формы используются для сбора информации введённой пользователями.
Синтаксически парный тег
Элемент является основным элементом формы и определяет пользовательское поле для ввода информации. Поле ввода принимает различный вид, в зависимости от значения атрибута type, применённого к данному элементу:
Значение | Описание |
---|---|
button | Определяет кнопку. Как правило, используется в основном совместно с языком программирования JavaScript для активации скрипта. |
checkbox включено выключено |
Элемент графического пользовательского интерфейса, позволяющий пользователю управлять параметром с двумя состояниями — ☑ включено и ☐ выключено. Элемент также называют флажок, флаговая кнопка, чекбокс, галочка. |
color | Элемент управления для задания цвета (определяет палитру цветов). |
date | Элемент управления для ввода даты в формате DD.MM.YYYY (день, месяц и год). В элементе не указывается время. |
datetime-local | Элемент управления для ввода даты в формате DD.MM.YYYYThh:mm (день, месяц, год, часы и минуты). В элементе не указывается часовой пояс. |
Определяет поле для ввода адреса электронной почты. | |
file | Элемент управления, который позволяет пользователю выбрать файл. |
hidden | Элемент управления, который определяет скрытое поле ввода. |
image | Элемент управления, который определяет графическую кнопку «отправить форму» (значение submit ). По аналогии с тегом вы должны использовать атрибут src, чтобы задать путь к изображению и атрибут alt, чтобы указать альтернативный текст, если изображение не будет загружено по каким-то причинам. Размеры изображения задаются атрибутами width (ширина) и height (высота). |
month | Элемент управления для ввода месяца и года (Month YYYY). В элементе не указывается часовой пояс. |
number | Элемент управления для ввода числа с плавающей точкой. |
password | Определяет однострочное текстовое поле, предназначенное для ввода пароля (символы, введенные внутри поля скрываются). Используйте атрибут maxlength HTML тега , чтобы задать максимальную длину значения, которое может быть введено в поле. |
radio выбрано не выбрано |
Элемент графического пользовательского интерфейса, который позволяет пользователю выбрать одно значение из предопределенной группы значений. Элемент, как правило, называют радиокнопка ( radio button) или переключатель. |
range | Элемент управления для ввода номера (регулятор), в котором ввод точного значения не является важным. Этот тип управления использует следующие значения по умолчанию, если атрибуты не указаны:
|
reset | Определяет кнопку сброса содержимого формы до значений, установленных по умолчанию. |
search | Определяет однострочное текстовое поле для ввода строки поиска |
submit | Определяет кнопку отправки формы |
tel | Определяет элемент управления для ввода телефонного номера. |
text | Определяет однострочное текстовое поле (по умолчанию имеет ширину в 20 символов). Это значение по умолчанию. |
time | Определяет элемент управления для ввода времени без указания часового пояса (hh:mm). |
url | Определяет поле для ввода абсолютного URL-адреса. |
week | Определяет элемент управления для ввода порядкого номера недели в году и самого года (Неделя NN, YYYY). В элементе не указывается часовой пояс. |
С выходом HTML 5 к элементу добавилось 12 новых типов (видов) полей, но к сожалению, пока не все из них имеют полную поддержку всеми передовыми браузерами. Как вы понимаете, к самым часто используемым видам полей относятся те, которые были введены задолго до HTML 5, например, такие как:
- checkbox (флаговая кнопка).
- radio (радиокнопка).
- submit (кнопкa отправки формы).
- text (однострочное текстовое поле).
Давайте рассмотрим пример использования этих элементов управления внутри формы:
И так по порядку, что мы сделали в этом примере:
- Разместили два однострочных текстовых поля ( type = «text» > ) для ввода пользователем своего имени и фамилии. Присвоили этим полям уникальные имена атрибутом name (для корректной передачи и обработки формы обязательно указывайте для каждого элемента этот атрибут). Кроме того атрибутом value установили для этих полей значения по умолчанию (при заполнении полей значение этого атрибута будет соответствовать пользовательскому вводу).
- Разместили две радиокнопки ( type = «radio» > ) для выбора одного из ограниченного числа вариантов. Обратите внимание, что для радиокнопок необходимо указывать одинаковое имя, чтобы была возможность выбрать только один вариант из предложенных. Для первой радиокнопки мы указали атрибут checked, который указывает, что элемент должен быть предварительно выбран при загрузке страницы (в данном случае поле со значением male ). Он применяется только для полей type = «checkbox» > и type = «radio» > , в противном случае он игнорируется.
- Разместили пять флaговых кнопок (чекбоксов), которые позволяют пользователям указать необходимые параметры (выбрать необходимые значения). Присвоили этим полям уникальные имена атрибутом name и атрибутом value установили для этих полей необходимые значения.
- Заключительный элемент, который мы разместили внутри формы это кнопка, которая служит для отправки формы ( type = «submit» > ). У кнопки по аналогии с другими элементами имеется свое имя (атрибут name ) и значение (атрибут value ).
Результат нашего примера в браузере:
Рис 32 HTML формы.
Обращаю Ваше внимание, что в рамках изучения HTML мы не будем рассматривать то, как серверы обрабатывают входные данные, лишь рассмотрим базовые принципы передачи формы.
Обработчик формы это, как правило, обычная страница сервера, которая с помощью скрипта обрабатывает входные (полученные) данные. Чтобы указать обработчик формы, необходимо использовать тег
Однострочное текстовое поле
Текстовое поле предназначено для ввода символов с помощью клавиатуры. Различают три элемента формы, которые используются для этой цели — однострочное текстовое поле, поле для ввода пароля и многострочное текстовое поле.
Текстовое поле
Создает элемент для ввода пользователем строки текста.
Параметры поля перечислены в табл. 1.
Параметр | Описание |
---|---|
size | Ширина поля. |
maxlength | Максимальное количество символов разрешенных в тексте. Если этот параметр опустить, то можно вводить строку длинее самого поля. |
name | Имя поля. Предназначено для того, чтобы обработчик формы мог идентифицировать это поле. |
value | Начальный текст содержащий в поле. |
В примере 1 показано создание текстового поля с разными параметрами
Текстовое поле Text box
Элемент управления TextBox позволяет пользователю вводить текст в приложение. The TextBox control lets a user type text into an app. Он обычно используется для записи одной строки текста, но его можно настроить для записи нескольких строк текста. It’s typically used to capture a single line of text, but can be configured to capture multiple lines of text. Текст отображается на экране в простом, однообразном формате обычного текста. The text displays on the screen in a simple, uniform, plaintext format.
Элемент TextBox имеет несколько компонентов, которые могут упростить ввод текста. TextBox has a number of features that can simplify text entry. Он поставляется со знакомым, встроенным контекстным меню с поддержкой копирования и вставки текста. It comes with a familiar, built-in context menu with support for copying and pasting text. Кнопка «Очистить все» позволяет пользователю быстро удалить весь текст, который был введен. The «clear all» button lets a user quickly delete all text that has been entered. В нем также есть функции проверки правописания, встраиваемые и включаемые по умолчанию. It also has spell checking capabilities built in and enabled by default.
Выбор правильного элемента управления Is this the right control?
Используйте элемент управления TextBox, чтобы позволить пользователю вводить и редактировать неформатированный текст, в частности, в форме. Use a TextBox control to let a user enter and edit unformatted text, such as in a form. С помощью свойства Text можно получить и задать текст в элементе управления TextBox. You can use the Text property to get and set the text in a TextBox.
Вы можете сделать элемент TextBox предназначенным только для чтения, но это должно быть временным, условным состоянием. You can make a TextBox read-only, but this should be a temporary, conditional state. Если текст не редактируется, попробуйте использовать элемент TextBlock. If the text is never editable, consider using a TextBlock instead.
Элемент управления PasswordBox может использоваться для сбора паролей или других конфиденциальных данных, например номеров карт социального страхования. Use a PasswordBox control to collect a password or other private data, such as a Social Security number. Поле ввода пароля внешне похоже на поле текстового ввода с той разницей, что в нем вместо вводимого текста отображаются маркеры. A password box looks like a text input box, except that it renders bullets in place of the text that has been entered.
Используйте элемент управления AutoSuggestBox, чтобы позволить пользователю искать термины или показать пользователю список рекомендаций для выбора во время ввода. Use an AutoSuggestBox control to let the user enter search terms or to show the user a list of suggestions to choose from as they type.
Элемент RichEditBox служит для отображения и правки текстовых файлов. Use a RichEditBox to display and edit rich text files.
Дополнительные сведения о выборе подходящего элемента управления текстом можно найти в статье Элементы управления текстом. For more info about choosing the right text control, see the Text controls article.
Примеры Examples
XAML Controls Gallery XAML Controls Gallery | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Команда Command | Отображается, когда. Shown when. |
---|---|
Копировать Copy | текст выделен. text is selected. |
Вырезать Cut | текст выделен. text is selected. |
Вставка Paste | буфер обмена содержит текст. the clipboard contains text. |
Выделить все Select all | элемент TextBox содержит текст. the TextBox contains text. |
Отменить Undo | текст был изменен. text has been changed. |
Чтобы изменить команды, отображаемые в контекстном меню, обработайте событие ContextMenuOpening. To modify the commands shown in the context menu, handle the ContextMenuOpening event. Пример см. в сценарии 2 элемента ContextMenu sample. For an example of this, see Scenario 2 of the ContextMenu sample. Сведения о проектировании см. в Руководстве по контекстным меню. For design info, see Guidelines for context menus.
Выделение, копирование и вставка Select, copy, and paste
Получить выбранный текст из текстового поля или задать его можно с помощью свойства SelectedText. You can get or set the selected text in a text box using the SelectedText property. Чтобы управлять выделением текста, используйте свойства SelectionStart и SelectionLength, а также методы Select и SelectAll. Use the SelectionStart and SelectionLength properties, and the Select and SelectAll methods, to manipulate the text selection. Событие SelectionChanged позволяет выполнять действия, пока пользователь выбирает или отменяет выбор текста. Handle the SelectionChanged event to do something when the user selects or de-selects text. Вы можете изменить цвет, используемый для выделения выбранного текста, настроив свойство SelectionHighlightColor. You can change the color used to highlight the selected text by setting the SelectionHighlightColor property.
Элемент TextBox поддерживает копирование и вставку по умолчанию. TextBox supports copy and paste by default. Вы можете предоставить в приложении пользовательскую обработку события Paste в редактируемых текстовых элементах управления. You can provide custom handling of the Paste event on editable text controls in your app. Например, вы можете удалить разрывы строк из многострочного адреса при ее вставке в однострочное поле поиска. For example, you might remove the line breaks from a multi-line address when pasting it into a single-line search box. Или вы можете проверить длину вставленного текста и предупредить пользователя, если он превышает максимальную длину, которую можно сохранить в базу данных. Or, you might check the length of the pasted text and warn the user if it exceeds the maximum length that can be saved to a database. Дополнительные сведения и примеры см. в разделе о событии Paste. For more info and examples, see the Paste event.
Ниже приведен пример применяемых для этого свойств и методов. Here, we have an example of these properties and methods in use. При выборе текста в первом текстовом поле выбранный текст отображается во втором текстовом поле, который доступен только для чтения. When you select text in the first text box, the selected text is displayed in the second text box, which is read-only. Значения свойств SelectionLength и SelectionStart отображаются в двух текстовых полях. The values of the SelectionLength and SelectionStart properties are shown in two text blocks. Для этого используется событие SelectionChanged. This is done using the SelectionChanged event.
Вот результат выполнения этого кода. Here’s the result of this code.
Выбор подходящей клавиатуры для элемента управления текстом Choose the right keyboard for your text control
Чтобы упростить пользователям ввод данных с помощью сенсорной клавиатуры или панели функционального ввода, можно настроить тип вводимых данных элемента управления для ввода текста, чтобы он соответствовал типу данных, которые должен вводить пользователь. To help users to enter data using the touch keyboard, or Soft Input Panel (SIP), you can set the input scope of the text control to match the kind of data the user is expected to enter.
Сенсорная клавиатура позволяет вводить текст, если приложение выполняется на устройстве с сенсорным экраном. The touch keyboard can be used for text entry when your app runs on a device with a touch screen. Сенсорная клавиатура появляется, когда пользователь касается редактируемого поля ввода, например, TextBox или RichEditBox. The touch keyboard is invoked when the user taps on an editable input field, such as a TextBox or RichEditBox. Пользователи могут вводить данные в вашем приложении гораздо быстрее и проще, если настроить тип вводимых данных элемента управления текстом на соответствие типу данных, которые пользователь должен вводить. You can make it much faster and easier for users to enter data in your app by setting the input scope of the text control to match the kind of data you expect the user to enter. Тип вводимых данных предоставляет системе подсказку о типе текстового ввода, ожидаемого элементом управления. Благодаря этому система может отобразить специальную раскладку сенсорной клавиатуры в соответствии с используемым типом ввода. The input scope provides a hint to the system about the type of text input expected by the control so the system can provide a specialized touch keyboard layout for the input type.
Например, если текстовое поле используется только для ввода 4-значного PIN-кода, установите для свойства InputScope значение Number. For example, if a text box is used only to enter a 4-digit PIN, set the InputScope property to Number. Это сообщает системе, что нужно отобразить раскладку цифровой клавиатуры, благодаря чему пользователю проще вводить PIN-код. This tells the system to show the number keypad layout, which makes it easier for the user to enter the PIN.
Внимание! Тип вводимых данных не вызывает выполнение проверки ввода, а также не препятствует пользователю вводить любые данные через аппаратную клавиатуру или другое устройство ввода. Important The input scope does not cause any input validation to be performed, and does not prevent the user from providing any input through a hardware keyboard or other input device. При необходимости вы по-прежнему несете ответственность за проверку вводимых данных в коде. You are still responsible for validating the input in your code as needed.
Другие свойства, влияющие на сенсорную клавиатуру: IsSpellCheckEnabled, IsTextPredictionEnabled и PreventKeyboardDisplayOnProgrammaticFocus. Other properties that affect the touch keyboard are IsSpellCheckEnabled, IsTextPredictionEnabled, and PreventKeyboardDisplayOnProgrammaticFocus. (IsSpellCheckEnabled также влияет на элемент TextBox при использовании аппаратной клавиатуры.) (IsSpellCheckEnabled also affects the TextBox when a hardware keyboard is used.)
Дополнительные сведения и примеры см. в разделе Использование типа вводимых данных для изменения сенсорной клавиатуры и документацию свойства. For more info and examples, see Use input scope to change the touch keyboard and the property documentation.
Рекомендации Recommendations
- Используйте метку или подстановочный текст, если назначение текстового поля не очевидно. Use a label or placeholder text if the purpose of the text box isn’t clear. Метка отображается независимо от того, указано ли значение в поле ввода. A label is visible whether or not the text input box has a value. Подстановочный текст отображается внутри поля ввода текста и пропадает после ввода значения. Placeholder text is displayed inside the text input box and disappears once a value has been entered.
- Задайте для текстового поля достаточную ширину, чтобы можно было ввести ряд значений. Give the text box an appropriate width for the range of values that can be entered. Длина слов различается в зависимости от языков, поэтому если вы собираетесь выводить свое приложение на международный уровень, следует учитывать особенности локализации. Word length varies between languages, so take localization into account if you want your app to be world-ready.
- Поле текстового ввода обычно состоит из одной строки ( TextWrap = «NoWrap» ). A text input box is typically single-line ( TextWrap = «NoWrap» ). Если пользователям придется вводить или изменять длинную строку, используйте многострочное текстовое поле ( TextWrap = «Wrap» ). When users need to enter or edit a long string, set the text input box to multi-line ( TextWrap = «Wrap» ).
- В целом текстовое поле используется для ввода редактируемого текста. Generally, a text input box is used for editable text. Однако можно сделать текстовое поле доступным только для чтения, чтобы его содержимое можно было читать, выделять и копировать, но не изменять. But you can make a text input box read-only so that its content can be read, selected, and copied, but not edited.
- Если необходимо избежать замусоривания представления, стоит сделать набор полей текстового ввода появляющимся только после установки управляющего флажка. If you need to reduce clutter in a view, consider making a set of text input boxes appear only when a controlling checkbox is checked. Состояние включения поля текстового ввода также можно привязать к элементу управления, например к Checkbox. You can also bind the enabled state of a text input box to a control such as a checkbox.
- Подумайте о том, как должно вести себя поле текстового ввода, содержащее значение, когда его выбирает пользователь. Consider how you want a text input box to behave when it contains a value and the user taps it. Поведение по умолчанию подходит для редактирования значений, а не их замены. Точка вставки помещается между словами, и ничего не выделяется. The default behavior is appropriate for editing the value rather than replacing it; the insertion point is placed between words and nothing is selected. Если замена является наиболее распространенным вариантом использования для данного текстового поля, то можно установить выделение всего текста в поле при получении фокуса элементом управления. Вводимый с клавиатуры текст заменяет выделенный текст. If replacing is the most common use case for a given text input box, you can select all the text in the field whenever the control receives focus, and typing replaces the selection.
Поля ввода из одной строки Single-line input boxes
Используйте несколько однострочных текстовых полей для сбора различных фрагментов текстовой информации. Use several single-line text boxes to capture many small pieces of text information. Если текстовые поля связаны между собой, сгруппируйте их вместе. If the text boxes are related in nature, group those together.
Делайте однострочные текстовые поля немного шире предполагаемого текста. Make the size of single-line text boxes slightly wider than the longest anticipated input. Если элемент управления получится слишком широким, разделите его на два элемента. If doing so makes the control too wide, separate it into two controls. Например, можно разделить однострочное поле адреса на «Адрес, строка 1» и «Адрес, строка 2». For example, you could split a single address input into «Address line 1» and «Address line 2».
Задайте максимальную длину вводимого текста в символах. Set a maximum length for characters that can be entered. Если базовый источник данных не позволяет вводить длинные строки текста, ограничьте ввод и сообщите пользователю об ограничении с помощью всплывающего окна. If the backing data source doesn’t allow a long input string, limit the input and use a validation popup to let users know when they reach the limit.
Чтобы пользователи имели возможность вводить маленькие фрагменты текста, используйте элементы управления для ввода одной строки. Use single-line text input controls to gather small pieces of text from users.
В следующем примере показано текстовое поле для записи ответа на вопрос безопасности. The following example shows a single-line text box to capture an answer to a security question. Так как предполагается краткий ответ, то здесь вполне подходит поле, состоящее из одной строки. The answer is expected to be short, and so a single-line text box is appropriate here.
Для ввода данных особого формата используйте набор коротких однострочных элементов управления фиксированного размера. Use a set of short, fixed-sized, single-line text input controls to enter data with a specific format.
Для ввода или правки текста используйте однострочный элемент управления неограниченного размера в сочетании с кнопкой, нажав на которую, пользователь сможет выбрать допустимое значение. Use a single-line, unconstrained text input control to enter or edit strings, combined with a command button that helps users select valid values.
Элементы управления для ввода многострочного текста Multi-line text input controls
При создании текстового поля в формате RTF следует предусмотреть кнопки стиля и реализовать их действия. When you create a rich text box, provide styling buttons and implement their actions.
Используйте шрифт, соответствующий стилю вашего приложения. Use a font that’s consistent with the style of your app.
Высота элемента управления должна быть достаточной для ввода стандартных записей. Make the height of the text control tall enough to accommodate typical entries.
При записи больших объемов текста с ограничением количества символов или слов используйте простое текстовое поле и предоставьте динамический счетчик, показывающий пользователю, сколько символов или слов у него осталось до достижения максимального ограничения. When capturing long spans of text with a maximum character or word count, use a plain text box and provide a live-running counter to show the user how many characters or words they have left before they reach the limit. Счетчик необходимо создать самостоятельно. Разместите его под текстовым полем и обеспечьте динамическое обновление при вводе пользователем символов или слов. You’ll need to create the counter yourself; place it below the text box and dynamically update it as the user enters each character or word.
При вводе пользователем текста элементы управления не должны увеличиваться по высоте. Don’t let your text input controls grow in height while users type.
Не используйте поле для многострочного текста там, где требуется ввести всего одну строку. Don’t use a multi-line text box when users only need a single line.
Не используйте поле с форматом там, где достаточно элемента управления обычного текста. Don’t use a rich text control if a plain text control is adequate.
Текстовые поля
Поля имеют 5 состояний.
Текст у контекстной подсказки максимально краткий, полностью отражающий суть проблемы.
Две рядом стоящие подсказки не должны пересекаться. В случае возможного пересечения текст идет в несколько строк.
X1 | X2 | X3 | X4 | X5 | X6 | X7 | |
Десктоп | 20 | 16 | 30 | 40 | 3 | 4 | 5 |
Планшет | 15 | 20 | 30 | 40 | 3 | 5 | 5 |
Телефон | 15 | 16 | 15 | 20 | нет | 4 | 5 |
Многострочное поле
На портале «Госуслуги»многострочные поля, существую для Десктопной, Планшетной, и Мобильной версии.
Внешний вид и поведение многострочных полей у Десктопной и Планшетной версии одинковы. На мобильных устройствах, внешниий вид изначально идентичен однострочному полю. В следствии добавления контента более чем одна строка, поле растягивается по высоте. Сдвигая в низ контент под собой с сохранением отступов.
Выпадающие списки
Характеристики полей выпадающих списков аналогичны характеристикам текстовых полей (кроме указаных в таблице).
Список разворачивается поверх полей формы.
Максимальное кол-вовидимых выпадающихпунктов — 4.
Если список не влезает повысоте в экран устройства- он выпадает сверху поля
На десктопе спискиподдерживают клавиатурные комбинации для раскрытиясписка, перемещения и поиска нужного пункта по первой букве.
На мобильных устройствах разворачиваются системные списки. Имеют скругленные углы с обеих сторон.
X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | Радиус | |
Десктоп | 20 | 21 | 15 | 21 | 38 | 10 | 54 | 10 | 4 |
Телефон | 20 | 18 | 15 | 24 | нет | нет | нет | нет | 4 |
Планшет | 15 | 23 | 20 | 23 | нет | нет | нет | нет | 4 |
Поисковая строка
Характеристики полей поисковой строки аналогичны характеристикам текстовых полей (кроме указаных в таблице). Список разворачивается поверх полей формы.
Список начинаетотображаться при вводе 3 и более символов Максимальное кол-во видимых выпадающих пунктов — 4.Если список не влезает по
высоте в экран устройства он выпадает сверху поля на мобильных устройствах разворачиваются системные списки. На десктопе списки поддерживают клавиатурные комбинации для раскрытия списка, перемещения и поиска нужного пункта
по первой букве
X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | Радиус | |
Десктоп | 20 | 18 | 15 | 20 | 38 | 10 | 54 | 10 | 4, справа |
Телефон | 20 | 15 | 15 | 20 | 32 | 8 | 50 | 10 | 4, справа |
Планшет | 15 | 20 | 20 | 20 | 36 | 10 | 50 | 10 | 4, справа |
Комбинированные списки
Характеристики полей комбинированных списков аналогичны характеристикам текстовых полей (кроме указаных в таблице). Список разворачивается поверх полей формы. Нажатие на пиктограмму принудительно раскрывает выпадающий список.
Максимальное кол-во видимых выпадающих пунктов — 4. Если список не влезает по высоте в экран устройства- он выпадает сверху поля На мобильных устройствах разворачиваются системные списки. На десктопе списки поддерживают клавиатурные
комбинации для раскрытия списка, перемещения и поиска нужного пункта по первой букве. Имеют скругленные углы с правой стороны.
X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | Радиус | ||||||||||||
Десктоп | 20 | 18 | 15 | 20 | 38 | 10 | 54 | 10 | 4, справа | |||||||||||
Телефон | 20 | 15 | 15 | 20 | 32 | 8 | 50 | 10 | 4, справа | |||||||||||
Планшет | 15 | 20 | 20 | 20 | 36 | 10 | 50 | 10 | 4, справа
Длинные названия полейЕсли текст длинный, он выносится над полями, а в самих полях пишется стандартный текст «Введите» или «Укажите» Стиль текста для названия полей — Sub Название поля имеет ширину самого поля
Длинное содержимое полейВ полях длинный текст переносится на вторую строку. На десктопе и планшете поля, в которые вводится много данных всегда по ширине на всю рабочую область формы и переносятся так же как и на смартфоне Длинное содержимое в выпадающих спискахВ выпадающих списках длинный текст переносится на следующую строку. HTML Урок 16 ФормыHTML Формы используются для различных форм ввода пользовательской информации. ПримерыСоздание текстовых полей Создание поля ввода пароля (Вы найдете больше примеров внизу этой страницы). HTML ФормыHTML формы используются для передачи данных на сервер. Форма может содержать элементы ввода: текстовые поля, флажки, переключатели, кнопки подтверждения и другие. Форма также может содержать следующие элементы: списки выбора, текстовую область, группу полей, легенду, и метки. HTML Формы — Элемент ВводаНаиболее важный элемент формы — элемент ввода. Элемент ввода используется для ввода пользовательской информации. Элемент ввода может меняться различными способами, в зависимости от атрибута type. Элемент ввода может иметь тип: текстовое поле, флажок, пароль, переключатель, кнопка подтверждения, и др. Наиболее используемые типы ввода описаны ниже. Текстовые Поляопределяет однострочное текстовое поле ввода, в которое пользователь может вводить текстовую информацию: Как HTML код выше выглядит в браузере: Замечание: Форма сама по себе не видима. Также отметьте что ширина текстового поля по умолчанию равна 20 символов. Поле Ввода Пароляопределяет поле ввода пароля: Как HTML код выше выглядит в браузере: Замечание: Символы в поле ввода пароля маскируются (отображаются как звездочки или кружочки). Переключателиопределяет радио кнопку. Радио кнопки позволяют пользователю выбирать ТОЛЬКО ОДИН из ограниченного числа вариантов: Как HTML код выше будет выглядеть в браузере: Флажкиопределяет флажок. Флажки позволяют пользователю выбрать ОДНУ или БОЛЕЕ опций из ограниченного числа вариантов. Как HTML код выше будет выглядеть в браузере: Кнопка Подтверждения/Отправкиопределяет кнопку подтверждения (отправки). Кнопка подтверждения используется для отправки данных на сервер. Данные отправляются на страницу указанную в атрибуте формы action. Файл указанный в атрибуте action обычно делает что либо с полученными данными: Как HTML код выше будет выглядеть в браузере: Если вы напечатаете некоторые символы в текстовом поле сверху и кликните на кнопке «Отправить», браузер пошлет введенные вами данные на страницу «html_form_action.php». Эта страница покажет вам то, что вы ввели. Еще примерыПереключатели Флажки Простой раскрывающийся список Раскрывающийся список с предварительно выбранным значением Текстовая область Примеры ФормГруппировка элементов ввода формы Форма с текстовыми полями и кнопкой подтверждения/отправки Форма с флажками Форма с переключателями Отправка электронной почты из формы Текстовое поле HTML — оригинальное оформление текстового поля HTMLНа сайте находится сотни статей, в которых описывается как придать красивые стили для тех или иных элементов страницы. Данная коллекция постоянно пополняется. Ведь постоянно появляются новые возможности и место для экспериментов. На этот раз я хочу обратить внимание на текстовое поле HTML. Его можно сделать очень привлекательным. Лучше сами лично протестируйте данное поле. Этот эффект достаточно интересный, но на сайте есть и другие способы оформления текстового поля: Как это выглядит смотрите на реальном примере: Посмотреть примерСкачатьВыглядит очень интересно и необычно для текстового поля, правда? Давайте посмотрим как же установить данный эффект на свой сайт. Как сделать такой эффект для текстового поля HTML?HTML частьПодключаем необходимые стили (fancyInput.css) и скрипты (jquery и fancyInput.js): После чего необходимо ОБЯЗАТЕЛЬНО поместить тег или внутрь тега jQuery частьЧтобы всё заработало в конце документа HTML добавляем вызов функции плагина fancyInput: На этом установка плагина fancyInput для оформления текстовых полей HTML закончена. ВыводА как Вам идея использовать данный эффект на продающей странице? Также можно таким образом оформить форму комментирования у себя на сайте. Конечно, установка не из простых и, возможно, сразу у Вас всё не заработает, но эффект стоит того, чтобы потратить на него время. Однострочное поле ввода текстаПроцесс создания элементов более подробно рассматривается в инструкции «Создание новых типов», раздела «Расширенные настройки». НастройкаНиже приведено описание параметров этого элемента:
ПозицииКаждому элементу необходимо позиционирование в шаблоне. Более подробно об этом Вы можете прочитать в инструкции «Позиционирование элементов».
Созданный элементТак выглядит созданный элемент текстового поля. В случае если Вы активировали параметр «Повторяемое«, то под элементом Вы можете наблюдать кнопку «Повторить элемент/Repeat element«. При нажатии на нее появится точно такое же поле. |