Атрибут value в HTML


Содержание

Атрибут value

Атрибут value , тега , используется для начальной установки значения поля формы. Перед отправкой данных формы на сервер браузер образует из каждого поля пару имя=значение , где имя указывается атрибутом name , а значение — value . Получив информацию, сервер запускает программу-обработчик и передает данные ей. В свою очередь, эта программа определяет по именам полей значение каждого из них и обрабатывает. Если у нескольких полей одинаковые имена, то программа может идентифицировать каждое поле непосредственно по значению атрибута value .

Начальные значения элементов формы кроме своего основного предназначения (данные для сервера) играют в текстовых полях и кнопках дополнительную роль. В кнопках (кроме type= «image» ) значения атрибута value пишутся на их поверхностях, по сути, являясь названием кнопки, по которой пользователь может понять ее предназначение. А в текстовых полях формы они изначально отображаются в самом поле. Например, это может служить подсказкой пользователю о том, что вводить в данную строку.

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

Значения

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

Блог Vaden Pro

  • 27 просмотров

Характеристики атрибута

В каких браузерах работает?

8.0+ 1.0+ 6.0+ 1.0+ 1.0+ 1.0+ 1.0+

В каких спецификациях используется?

HTML 4.01 5.0
XHTML 1.0 1.1

Для чего используется?

Прописывает значение для кнопок, которое будет отправлено на сервер для обработки. Принцип конструкции, которая будет отправляется на сервер, выглядит следующим образом: «название=значение». Эта конструкция в свою очередь делится на 2 составляющие. Первое — название, задается атрибутом name, а второе — значение, ему соответствует атрибут value. Также посредством этого атрибута производят обращение к объекту через скрипт.

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

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

/ Атрибут value

Описание

Определяет значение элемента формы, которое будет отправлено на сервер или получено с помощью клиентских скриптов. На сервер отправляется пара «имя=значение», где имя задается атрибутом name тега , а значение — атрибутом value .

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

  • для кнопок ( input type=»button | reset | submit» ) устанавливает текстовую надпись на них;
  • для текстовых полей ( input type=»password | text» ) указывает предварительно введенную строку. Пользователь может стирать текст и вводить свои символы, но при использовании в форме кнопки Reset пользовательский текст очищается и восстанавливается введенный в атрибуте value ;
  • для флажков и переключателей ( input type=»checkbox | radio» ) уникально определяет каждый элемент, с тем, чтобы клиентская или серверная программа могла однозначно установить, какой пункт выбрал пользователь.
  • для файлового поля ( input type=»file» ) не оказывает влияние.

Синтаксис

HTML
XHTML

Применяется

Ко всем элементам формы.

Значения

Любая текстовая строка.

Значение по умолчанию

Пример. Значение поля формы

Браузеры: Настольные Мобильные ?

Internet Explorer Chrome Opera Safari Firefox
2 1 1 1 1
Android Firefox Mobile Opera Mobile Safari Mobile
1 1 6 1

Браузеры

В таблице браузеров применяются следующие обозначения.

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

Число указывает версию браузреа, начиная с которой элемент поддерживается.

PROG-TIME

Атрибуты и их значения для тега INPUT HTML

Здравствуйте, я собрал для вас подборку для всех атрибутов и их значений для тега INPUT

Типы Значений Атрибутов Элементов Ввода

Также атрибут type элемента input имеет новые значения – для улучшенного контроля перед отправкой введенных данных на обработку:

Тип Описание
tel Вводимое значение представляет телефонный номер
search Поле ввода является поисковым полем
url Вводимое значение – это адрес URL
email Вводимое значение – один или несколько адресов email
datetime Вводимое значение представляет дату и/или время
date Ввод даты
month Ввод месяца
week Ввод недели
time Ввод времени
datetime-local Вводимое значение – это местные дата/время
number Ввод числового значения
range Ввод числа в заданном диапазоне
color Ввод цвета в шестнадцатеричном формате, например #FF7700

Новые Элементы Формы

HTML5 предлагает новые элементы формы с дополнительной функциональностью:

Тег Описание
Список опций для вводимых значений
Генерация ключей для аутентификации пользователей
Для различных типов вывода, таких как вывод, написанный скриптом

Тип Ввода – email (Электронная Почта)

Тип email используется для полей ввода, которые должны содержать адреса электронной почты.

Значение поля email автоматически проверяется при отправке формы.

Пример
Электронная почта:

Совет: Safari на iPhone распознает тип ввода email и изменяет экранную клавиатуру для ввода адреса (добавляет опции @ и .com).

Тип Ввода – url (Адрес в Интернете)

Тип url используется для полей ввода, которые должны содержать адрес URL.

Значение поля url автоматически проверяется при нажатии кнопки “Отправить” на форме.

Пример
Домашняя страница:

Совет: Браузер Safari на iPhone определяет тип ввода url и соответственно изменяет клавиатуру для ввода URL-адреса (добавляет опцию .com).

Используйте следующие атрибуты для указания ограничений для типа number:

Атрибут Значение Описание
max число Определяет максимальное допустимое значение
min число Определяет минимальное допустимое значение
step число Указывает допустимые числовые интервалы (если step=”3″, то можно будет вводить числа -3,0,3,6, и т.д.)
value число Указывает значение по умолчанию

Тип Ввода – range (Диапазон)

Тип range используется для полей ввода, которые должны содержать значение из диапазона чисел.

Тип range отображается как ползунок на линейке со шкалой.

Вы можете также установить ограничения на вводимые числа:

Пример

Используйте следующие атрибуты, чтобы задать ограничения на диапазон:

Атрибут Значение Описание
max число Указывает максимальное допустимое значение
min number Указывает минимальное допустимое значение
step число Определяет числовые интервалы (если step=”3″, то можно будет выбрать числа из диапазона -3,0,3,6, и т.д.)
value число Значение по умолчанию

Тип Ввода – Выбор Даты

HTML5 имеет несколько новых типов ввода для выбора даты и времени:

  • date – Выбор даты, месяца и года
  • month – Выбор месяца и года
  • week – Выбор недели и года
  • time – Указать время (часы и минуты)
  • datetime – Указать время, дату, месяц и год (универсальное время UTC)
  • datetime-local – Указать время, дату, месяц и год (местное время)

Следующий пример позволяет вам выбрать дату из календаря:

Атрибут autocomplete (Автозаполнение)

Атрибут autocomplete указывает, что форма или поле ввода input должны обладать функцией автозаполнения.

Замечание: Атрибут autocomplete работает с

Замечание: В некоторых браузерах вам потребуется активировать функцию автозаполнения, чтобы оно работало.

Атрибут autofocus (Автофокус)

Атрибут autofocus указывает, какое поле должно автоматически получать фокус ввода при загрузке страницы.

Замечание: Атрибут autofocus аботает со всеми типами ввода .

Пример

Имя пользователя:

Атрибут form (Форма)

Атрибут form указывает одну или несколько форм, которым принадлежит поле ввода.

Замечание: Атрибут form работает со всеми типами ввода .

Атрибут form должен ссылаться на идентификатор id формы, которой принадлежит поле input:

Пример

Замечание: Чтобы указать более одной формы, используйте список идентификаторов форм через пробел.

Атрибуты Замены (Замещения, Подмены) Формы

Атрибуты подмены позволяют вам заменять некоторые атрибуты, установленные для элемента формы form.

К атрибутам подмены формы относятся:

  • formaction – Заменяет атрибут формы action
  • formenctype – Переписывает атрибут формы enctype
  • formmethod – Замещает атрибут формы method
  • formnovalidate – Отменяет атрибут формы novalidate
  • formtarget – Заменяет атрибут формы target

Замечание: Атрибуты замены формы работают со следующими типами ввода : submit и image.

Пример

Замечание: Эти атрибуты полезны для создания различных кнопок отправки.

Атрибуты height (Высота) и width (Ширина)

Атрибуты height и width указывают высоту и ширину изображения, используемого для типа ввода image.

Замечание: Атрибуты height и width работают только с типом ввода : image.

Пример

Атрибут list (Список)

Атрибут list указывает список опций для поля ввода. Элемент datalist представляет собой список вариантов для выбора в поле ввода input.

Замечание: Атрибут list работает со следующими типами : text, search, url, telephone, email, date (и другие типы выбора даты и/или времени), number, range и color.

Пример

Веб страница:

Атрибуты min, max и step

Атрибуты min, max и step используются для указания ограничений в полях ввода чисел или дат.

Атрибут max определяет максимальное возможное значение в поле ввода.

Атрибут min определяет минимальное возможное значение в поле ввода.

Атрибут step указывает шаг в поле ввода (если step=”3″, то допустимыми числами будут -3,0,3,6, и т.д.).

Замечание: Атрибуты min, max и step работают со следующими типами : типы ввода даты/времени (date, time и др.), number и range.

Пример ниже показывает числовое поле, которое принимает значения между 0 и 10, с шагом 3 (допустимыми числами будут 0, 3, 6 и 9):

Пример

Атрибут multiple (Несколько)

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

Замечание: Атрибут multiple работает в типах : email и file.

Пример

Выбрать изображения:

Атрибут novalidate (Не Проверять)

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

Если этот атрибут присутствует, форма не будет проверять введенные данные.

Замечание: Атрибут novalidate работает с:

Атрибут pattern (Шаблон, Образец)

Атрибут pattern определяет шаблон, используемый для проверки поля ввода..

Замечание: Атрибут pattern работает со следующими типами : text, search, url, telephone, email и password

Пример ниже показывает текстовое поле, которое может содержать только три латинских буквы (никаких чисел или специальных символов):

Пример

Код страны:

Атрибут placeholder (Заполнитель)

Атрибут placeholder показывает подсказку об ожидаемом значении поля ввода.

Замечание: Атрибут placeholder работает с типами ввода : text, search, url, telephone, email и password

Подсказка отображается в поле ввода, когда оно пустое, и исчезает, когда поле получает фокус:

Пример

Атрибут required (Обязательное Поле)

Атрибут required указывает, что поле должно быть заполнено в обязательном порядке перед отправкой формы.

Замечание: Атрибут required работает с типами : text, search, url, telephone, email, password, date, time (и другие типы выбора даты/времени), number, checkbox, radio и file.

HTML-тег

Тег input представляет собой элемент управления формы. Он позволяет пользователю вводить данные и взаимодействовать с сайтом или приложением.

Синтаксис

Записывается как ( без закрывающегося тега ). Тегу присваивается атрибут type для указания типа элемента управления и атрибут name , чтобы процессор формы мог ссылаться на него. Часто используется атрибут value для указания значения по умолчанию для элемента управления.

Базовый пример синтаксиса тега с несколькими атрибутами:

Пример, содержащий три элемента в стандартной форме:


Примеры

Базовая форма

Ниже приводится форма, которая используется для ввода имени/фамилии пользователя. Используются три тега input type : для имени и фамилии, один для кнопки отправки:

Атрибут form

Мы можем связать тег input с формой с помощью атрибута form .

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

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

Радио-кнопки (переключатели)

В этом примере мы создадим радиокнопки. Для этого тега input атрибуту type присваивая значение radio .

Каждый пункт для выбора в группе должен иметь одно и то же значение name . Таким образом они связываются. Через value мы можем задавать различные варианты:

Связанные с формой элементы

Тег input рассматривается как связанный с формой элемент. Так как он может принадлежать определенной форме.

Ниже приводится список связанных с формой элементов HTML :

Атрибуты

Атрибуты могут добавляться в HTML-элемент , чтобы предоставить дополнительную информацию о том, как элемент должен отображаться или функционировать.

Существует три типа тега input атрибутов : связанные с конкретным элементом, глобальные и связанные с событием.

Атрибуты, связанные с конкретным элементом

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

Атрибут Описание
accept Задает разделенный запятыми список типов контента, которые принимает сервер.
Допустимые значения:
  • audio/*
  • v >[Валидный MIME-тип, без параметров]
  • [Строка, в которой первый символ — «.» Символ (U+002E)] (для указания расширения файлов).

Можно указать и любые MIME-типы, и любые соответствующие расширения. Например, alt Альтернативный текст. Указывает на текст, который будет использоваться в случае, если браузер пользователя не может отобразить элемент управления. autocomplete Предотвращает использование браузером автоматического заполнения для этого элемента управления. Может оказаться полезным для конфиденциальных данных, таких как платежные данные и тому подобное.
Допустимые значения:

autofocus Автоматически выделяет фокусом ввода данный элемент управления при загрузке страницы. Это позволяет начать использовать элемент управления без предварительного выбора. В документе должно быть не более одного элемента с указанным атрибутомautofocus.
Если атрибут присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце (например, autofocus или autofocus=»autofocus»).
Обязательными значениями атрибута для тега input являются :
  • [Пустая строка];
  • Autofocus.
checked Элемент управления будет выбран при загрузке страницы. Используется с type=»radio» или type=»checkbox». disabled Отключает элемент управления. Он не будет принимать изменения от пользователя. Элемент также не может быть выделен фокусом ввода, и при переключении фокуса с помощью табуляции будет пропускаться.
Если атрибут присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце (то есть либо disabled, либо disabled=»disabled»).
Допустимые значения:
  • [Пустая строка];
  • Disabled.
dirname Определяет направление написания текста, представленного в поле input. Значение этого атрибута может быть строкой текста, например, именем поля. Если вы, к примеру, укажете этот атрибут как dirname=»text_dir», когда данные формы будут отправлены, они могут выглядеть следующим образом:text_dir=ltr . form Задает идентификатор формы, которой принадлежит данный элемент управления. formaction Указывает URL-адрес файла, в котором будет происходить обработка данных элемента управления после их отправки. formenctype Указывает тип содержимого, используемый для кодирования набора данных формы, когда они отправляются на сервер.
Допустимые значения:
· application/x-www-form-urlencoded (по умолчанию);
· multipart/form-data (используется при загрузке файлов);
  • text/plain(используетсяэто при загрузке файлов).
  • dialog(закрывает диалоговое окно, в котором находится сама форма. В противном случае данные не отправляются).
  • [Пустая строка];
  • Novalidate.
  • _blank;
  • _self;
  • _top;
  • _parent.
formmethod Задает метод HTTP, который будет использоваться при отправке данных через элемент управления.
Допустимые значения атрибута тега input:
· get (данные формы добавляются к URL-адресу при отправке);
· post (данные формы не добавляются к URL-адресу); formnovalidate Указывает, должна ли выполняться валидация во время отправки данных формы.
Если атрибут присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце(то есть, noval > Допустимые значения: formtarget Определяет контекст просмотра для загрузки целевого адреса, указанного в атрибуте action.
Допустимые значения: height Определяет высоту элемента управления. inputmode Определяет, какой метод ввода будет наиболее полезен для пользователей, вводящих содержимое в элемент управления.
Допустимые значения тега input атрибута:
· verbatim — значение по умолчанию. Буквенно-цифровой ввод латиницей содержимого нетекстового характера. Например, имя пользователя, пароли, коды продуктов.
  • latin — ввод латиницей на предпочтительном языке (языках) пользователя со включением некоторых вспомогательных средств ввода (например, автоматическая подстановка текста). Предназначен для передачи информации от человека компьютеру. Например, текстовые поля в форме поиска.
  • latin-prose — ввод латиницей на предпочтительном языке (языках) пользователя для передачи информации от человека к человеку, с обязательным включением вспомогательных средств при наборе текста (например, автоматическая подстановка текста и автоматическая замена прописных букв в начале предложений на заглавные). Данное значение предназначено для электронных писем и обмена мгновенными сообщениями.
  • full-w > — ввод латиницей на вторичном языке (языках) пользователя, с использованием символов полной ширины, с обязательным включением вспомогательных средств при наборе текста (например, автоматическая подстановка текста и автоматическая замена прописных букв в начале предложений на заглавные). Данное значение предназначено для ввода латинского текста, встроенного в текст CJK.
  • numeric — цифровой ввод, включая клавиши цифр от 0 до 9, предпочитаемый пользователем разделитель тысяч символов и символ для указания отрицательных чисел. Данное значение предназначено для числовых кодов. Например, номеров банковских карт. Для чисел предпочтительно .
  • tel- ввод номера телефона, включая клавиши цифр от 0 до 9, символ «#» и символ «*». В некоторых локалях также может включать в себя буквенные мнемонические метки (например, в США, ключ с меткой «2» исторически также обозначается буквами A, B и C). Вместо этого используйте .
  • email- текстовый ввод в локали пользователя, с клавишами для ввода адреса электронной почты, например, символов «@» и «.».Вместо этого используйте .
  • url- ввод текста в локали пользователя с поддержкой клавиш для ввода веб-адресов, например, символов «/» и «.», и вспомогательных средств для быстрого ввода строк, обычно встречающихся в доменных именах, таких как «www» или «.co.uk». Вместо этого используйте .
list Указывает элемент datalist, который будет использоваться для списка предопределенных для пользователя параметров. Значение должно быть идентификатором элемента datalist в том же документе. max Этот тег input атрибут указывает максимальное значение для элемента управления. maxlength Указывает максимальное количество символов, которое пользователю разрешено вводить в текстовом поле. min Указывает минимальное значение для элемента управления. minlength Указывает минимальное количество символов, которые пользователь должен ввести в текстовом поле. multiple Указывает, разрешено ли пользователю вводить более одного значения.
Если он присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце (то есть. multiple или multiple=»multiple»).
Допустимые значения:
· [Пустая строка];
  • multiple.
name Присваивает элементу управления имя. pattern Указывает регулярное выражение, по которому должно быть проверено значение элемента управления. Значение должно соответствовать составлению шаблонов по правилам грамматики ECMA 262. placeholder Задает коротк ую подсказку (слово или короткую фразу), которая должна помочь пользователю при вводе данных. Подсказка может представлять собой примерное значение или краткое описание ожидаемого формата.
Примечание. Для создания более длинных подсказок или другого вспомогательного текста более подходит глобальный атрибут title.
Также обратите внимание, что атрибут placeholder не должен использоваться как альтернатива элементу . readonly Задает для элемента управления режим «только для чтения» — пользователь не может изменять значение. Тем не менее, элемент управления может выделяться фокусом ввода и становиться активным при переключении фокуса ввода с помощью клавиши табуляции.
Если он присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце (то есть readonly или readonly=»readonly»).
Допустимые значения:
· [Пустая строка];
  • readonly.
required Указывает, что поле ввода является обязательным для заполнения (пользователь должен заполнить это поле).
Это логический атрибут тега input type . Если он присутствует, его значение должно быть пустой строкой или значением, соответствующим значению ASCII без учета регистра для канонического имени атрибута, без пробела в начале или в конце (то есть required или required =» required «).
Допустимые значения:
· [Пустая строка];
  • required.
size Указывает ширину элемента управления, в символах. Значение, которое является действительным неотрицательным целым числом больше нуля. src Если задано type = «image» , этот атрибут определяет местоположение изображения. step Указывает шаг изменения значения, который ожидается (и требуется), через ограничения допустимых значений. type Указывает тип элемента управления.
Допустимые значения этого тега input атрибута:
Значение Тип данных Тип элемента управления
hidden Произвольная строка. Не определено.
text Текст без разрывов строк. Текстовое поле.
search Текст без разрывов строк. Текстовое поле.
Tel Текст без разрывов строк. Текстовое поле.
url Полный URL-адрес. Текстовое поле.
email Адрес электронной почты или список адресов электронной почты. Текстовое поле.
password Текст без разрывов строк (конфиденциальная информация). Текстовое поле, в котором скрываются вводимые данные (например, пароль скрывается с помощью звездочек (******) или другим аналогичным способом).
datetime Дата и время (год, месяц, день, час, минута, секунда, доля секунды) с часовым поясом, установленные в UTC. Элемент ввода даты.
date Дата (год, месяц, день) без часового пояса. Элемент ввода даты.
month Дата, состоящая из года и месяца без часового пояса. Элемент ввода месяца.
week Дата, состоящая из номера недели и недели, без часового пояса. Элемент ввода недели
time Время (час, минута, секунды, доли секунды) без часового пояса. Элемент ввода времени.
datetime-local Дата и время (год, месяц, день, час, минута, секунда, доля секунды) без часового пояса. Элемент ввода даты и времени.
number Числовое значение. Текстовое поле или счетчик.
range Числовое значение, с дополнительной семантикой, при которой точное значение не важно. Элемент ввода диапазон или аналогичный.
color Цвет RGB с 8-битными красными, зелеными и синими компонентами. Элемент выбора цвета.
checkbox Набор из нуля или более значений из предопределенного списка. Чекбокс.
radio Перечень значений. Радиокнопка.
file Ноль или больше файлов, каждый из которых имеет MIME-тип и, опционально, имя файла. Метка и кнопка.
submit Пронумерованное значение с дополнительной семантикой, согласно которой оно должно быть последним выбранным значением, после чего инициируется кнопка отправки данных формы. Кнопка.
image Координата, связанная с конкретным размером изображения, с дополнительной семантикой, согласно которой она должна быть последним выбранным значением, после чего инициируется кнопка отправки данных формы. Кликабельное изображение или кнопка.
reset Не определено. Кнопка.
button Не определено. Кнопка.
value Задает значение по умолчанию для элемента управления. Примечание : Если type=»checkbox» или type=»radio» , атрибут является обязательным. width Определяет ширину элемента управления.

Глобальные атрибуты

Перечисленные ниже атрибуты являются стандартными для всех элементов HTML5 . Поэтому можно использовать эти атрибуты с тегом input , а также со всеми другими тегами HTML :

  • accesskey ;
  • class ;
  • contenteditable ;
  • contextmenu ;
  • dir ;
  • draggable ;
  • dropzone ;
  • hidden ;
  • id ;
  • inert ;
  • itemid ;
  • itemprop ;
  • itemref ;
  • itemscope ;
  • itemtype ;
  • lang ;
  • spellcheck ;
  • style ;
  • tabindex ;
  • title ;
  • translate .

Атрибуты обработчика событий

Атрибуты обработчика событий тега input typ e позволяют вызывать скрипт из HTML-разметки. Скрипт вызывается, когда происходит определенное « событие ». Каждый атрибут обработчика события связан с другим событием.

Ниже приведены стандартные атрибуты обработчика событий HTML5 :

  • onabort ;
  • oncancel ;
  • onblur ;
  • oncanplay ;
  • oncanplaythrough ;
  • onchange ;
  • onclick ;
  • oncontextmenu ;
  • ondblclick ;
  • ondrag ;
  • ondragend ;
  • ondragenter ;
  • ondragexit ;
  • ondragleave ;
  • ondragover ;
  • ondragstart ;
  • ondrop ;
  • ondurationchange ;
  • onemptied ;
  • onended ;
  • onerror ;
  • onfocus ;
  • onformchange ;
  • onforminput ;
  • oninput ;
  • oninvalid ;
  • onkeydown ;
  • onkeypress ;
  • onkeyup ;
  • onload ;
  • onloadeddata ;
  • onloadedmetadata ;
  • onloadstart ;
  • onmousedown ;
  • onmousemove ;
  • onmouseout ;
  • onmouseover ;
  • onmouseup ;
  • onmousewheel ;
  • onpause ;
  • onplay ;
  • onplaying ;
  • onprogress ;
  • onratechange ;
  • onreadystatechange ;
  • onscroll ;
  • onseeked ;
  • onseeking ;
  • onselect ;
  • onshow ;
  • onstalled ;
  • onsubmit ;
  • onsuspend ;
  • ontimeupdate ;
  • onvolumechange ;
  • onwaiting .

Различия между HTML 4 и HTML 5

В HTML 4 и HTML5 имеется ряд различий для тега input .

В HTML5 атрибуты usemap , ismap и align устарели ( они поддерживались в HTML 4 ).

В HTML5 были введены следующие атрибуты:

  • form ;
  • autocomplete ;
  • autofocus ;
  • list ;
  • pattern ;
  • required ;
  • placeholder ;
  • dirname ;
  • formaction ;
  • formenctype ;
  • formmethod ;
  • formnovalidate ;
  • formtarget ;
  • height ;
  • max ;
  • min ;
  • minlength ;
  • multiple ;
  • step ;
  • width .

Кроме этого в HTML5 глобальный атрибут title имеет особое значение для тега input type .

В HTML 5.1 и WHATWG HTML Living Standard был введен следующий атрибут:

Спецификации

Вот официальные спецификации для элемента.

  • Спецификация HTML5 (W3C) ;
  • Текущий стандарт HTML (WHATWG) ;
  • Текущая версия W3C ;
  • HTML 4 ( W3C ).

В чем разница?

W3C создает « snapshot » спецификации, которые не меняются после их определения. Поэтому спецификация HTML5 не изменится, когда она станет официальной рекомендацией. С другой стороны WHATWG , разрабатывает « живой стандарт », который обновляется на регулярной основе. В целом, вы, вероятно, обнаружите, что HTML living standard будет более точно соответствовать текущему проекту W3C , чем спецификации HTML5 .

Данная публикация представляет собой перевод статьи « HTML input Tag » , подготовленной дружной командой проекта Интернет-технологии.ру

Form и input — теги и их атрибуты для создания различных HTML форм для сайта

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. В продолжение изучения языка гипертекстовой разметки переходим к рассмотрению тегов form и input с их атрибутами (что представляют из себя эти составляющие HTML кода в общем случае), с помощью которых можно создавать самые разнообразные формы для сайта.

Какой бы тематики и наполнения не был тот или иной вебресурс, на нем с большой вероятностью будут встречаться формы в том или ином виде: текстовые поля, выпадающие меню, различные кнопки или переключатели. К слову, в одной из публикаций я уже повествовал об элементах, помогающих разнообразить формы с помощью тегов select, option, textarea, label, fieldset и legend.

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

HTML формы — как они создаются с помощью form и input

Как я уже сказал вначале, какая-нибудь вебформа, а то и сразу несколько, обязательно должны присутствовать на любом мало-мальски развитом вебсайте. Чтобы понять, насколько они важны в свете соответствия веб-ресурса современным требованиям, достаточно привести вам навскидку тройку объектов, где используются формы, основанные на тегах form и input, которые по одному названию не оставляют сомнений в своей необходимости проекту той или иной направленности:

Если перейдете, к примеру, по ссылке на статью о создании обратной связи (позволяющей всем юзерам отправлять сообщения администрации сайта), то там как раз представлен код HTML с парным тегом form, который имеет открывающую () часть:

Здесь form играет важнейшую роль, так как инициирует установку вебформы. Сам по себе он не выводит некую область на веб-странице, но служит контейнером, содержащим другие тэги.

В нашем случае (см.скриншот выше) в их число входит несколько input (этот ХТМЛ тэг является одиночным, иными словами, не имеет закрывающей составляющей), а также textarea, с разными наборами атрибутов. Каждый из них определяет свой элемент, входящий в форму.

Кстати, именно атрибуты, которые бывают обязательными и необязательными, можно считать средством «тонкой настройки», расширяющим функциональные возможности тегов, а значит, и самой вебформы, которая при просмотре в браузере будет иметь такой вид:

Обратите внимание, что однострочные текстовые поля («Ваше имя», «Электронная почта», «Тема сообщения») выведены в том числе благодаря присутствию атрибутов name (c разными значениями «name», «email», «sub») и type («text») наиболее востребованного тега input.

Для многострочного поля применен тег textarea со своими параметрами. Кнопка «Отправить» реализована тем же input в совокупности с атрибутами value и type (со значением «submit»).

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

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

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

Прежде чем продолжить текстовое изучение материала, посмотрите небольшой видеоролик:

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

Атрибуты тега form — action, method, name и другие

Как я уже отмечал выше, любая ХТМЛ форма заключается между открывающим и закрывающим тегами form, который является контейнером, содержащим другие теги. Form имеет ряд атрибутов, некоторые из которых могут принимать различные значения (параметры). Наиболее часто используемыми из них (смотрите третий скриншот вверх отсюда) являются следующие:

1. Action — путь до документа (URL), содержащего скрипт исполнения (обработчик веб-форм). Обязательный атрибут (в HTML5 таковым не является, поскольку пятая версия языка разметки предусматривает ситуации, когда данные для обработки отправляются на текущую страницу). В качестве значения используется абсолютный или относительный путь к файлу на сервере:

2. Method — c помощью этого атрибута обеспечивается способ передачи данных. Собственно, их всего два: get и post, которые и являются параметрами. Метод get (значение по умолчанию) используется для небольших сообщений посредством адресной строки браузера. Тогда как post предназначен для отправки большего объема данных закрытым способом.

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

Далее представлю вам и остальные атрибуты тега form:

4. Accept-charset — определяет кодировку, в которой сервер должен обрабатывать полученные данные. В качестве значения (параметра) данного атрибута выступает название используемого стандарта (UTF-8, Windows-1251 и т.д.).

5. Autocomplete [HTML5] — активирует автозаполнение формы браузером, который в этом случае оставляет в памяти содержание впервые заполняемых полей (чаще логина и пароля), а при необходимости в дальнейшем ввода этих данных автоматически их вставляет в нужные места. Имеет всего два параметра: on — автоматическое заполнение включено, off — выключено.

Замечу, что функция автоматического заполнения может быть вообще отключена в браузере самого пользователя. Тогда присутствие атрибута autocomplete=»on» в коде веб-формы поможет только в случае, если данная опция активирована в настройках обозревателя конкретного юзера.

6. Enctype — задает метод кодирования введенных в форму данных перед отправкой их на сервер. Может быть применено одно из трех значений:

  • application/x-www-form-urlencoded (параметр по умолчанию) — вместо пробелов применяется «+», кодируются все символы кроме букв латинского алфавита и цифр. Например, знаки кириллицы будут преобразованы в нечто, похожее на «%2F%3D%26%3F%2%3D%26%3D»;
  • text/plain — только пробелы заменяются знаком «+», буквы и другие символы кодировке не подлежат;
  • multipart/form-data — информация не кодируется. Данный параметр используется при отправлении файлов на сервер. При этом элемент загрузки файла в форме описывается тегом input с атрибутом type=»file» (подробнее о нем поговорим ниже).

Вот пример кода с применением атрибута enctype со значением «multipart/form-data»:

7. Noval >[HTML5] — это логический атрибут (значения отсутствуют), который отменяет проверку на корректность введенной пользователем информации, отправляемой на сервер:

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

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

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

  • _blank — в новое окно;
  • _self (параметр по умолчанию) — в то же окно;
  • _parent — во фрейм-родитель. Если таковой отсутствует, то в текущее окно (_self);
  • _top — в полное исходное окно, отменяя при этом все другие фреймы. При отсутствии фреймов в то же окно (_self);
  • framename — в именной фрейм, название которого задается с помощью его атрибута name ( );

Тег input и его атрибуты, расширяющие возможности форм

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

Атрибут type и формируемые им элементы — text (текстовое поле), button (кнопка), checkbox (чекбокс), radio (радиокнопка) и другие

ЗНАЧЕНИЕ ОПРЕДЕЛЕНИЕ И КОД ОТОБРАЖАЕМЫЙ ЭЛЕМЕНТ
1. BUTTON Простая кнопка. Надпись оформляется с помощью параметра атрибута value.
2. CHECKBOX Чекбоксы. Позволяют выбрать галочкой один или сразу несколько необходимых вариантов, названия пунктов (A, B, C) реализованы с помощью атрибута value.
3. COLOR [HTML5] Управление палитрой цветов.
4. DATE [HTML5] Ввод календарной даты в формате DD.MM.YYYY (день, месяц и год).
5. DATETIME-LOCAL [HTML5] Выбор даты и времени в формате DD.MM.YYYYThh:mm (день, месяц, год, часы и минуты).
6. EMAIL [HTML5] Поле для ввода адреса электронной почты
ЗНАЧЕНИЕ ОПРЕДЕЛЕНИЕ И КОД ОТОБРАЖАЕМЫЙ ЭЛЕМЕНТ
7. FILE Кнопка выбора файла для последующей загрузки его на сервер
ЗНАЧЕНИЕ ОПРЕДЕЛЕНИЕ И КОД ОТОБРАЖАЕМЫЙ ЭЛЕМЕНТ
8. HIDDEN Скрытое поле, которое не отображается, однако данные в обработчик передаются.
9. IMAGE Поле с картинкой. Нужно указать путь (относительный или абсолютный) до соответствующего изображения на сервере в качестве значения атрибута src. При нажатии картинку данные будут отправлены на сервер.
10. MONTH [HTML5] Ввод месяца и года в формате Month YYYY.
11. NUMBER [HTML5] Выбор отрицательного или положительного числа.
12. PASSWORD Текстовое поле, где символы показываются звездочками. Предназначено для скрытия вводимого пароля.
13. RADIO Переключатели (радиокнопки). Обычно используются при необходимости выбора одного варианта из предложенных. Для установки наименования каждой радиокнопки применен атрибут value.
14. RANGE [HTML5] Ползунок для выбора чисел в указанном диапазоне. Применяются следующие значения по умолчанию, если соответствующие атрибуты не указаны:
  • min = «0»
  • max = «100»
  • value = min + (max — min) / 2, или min, если max
15. RESET Кнопка для возврата данных к первоначальному значению.
16. SEARCH [HTML5] Однострочное поле для поиска.
17. SUBMIT Кнопка для отправки данных.
18. TEL [HTML5] Элемент для указания номера телефона
19. TEXT Текстовое поле для ввода символов
20. TIME [HTML5] Ввод времени в формате hh:mm.
21. URL [HTML5] Специальное поле для указания URL-адреса.
22. WEEK [HTML5] Выбор порядкового номера недели и года (Неделя NN, YYYY)

Если значение type не указано, то по умолчанию будет создано текстовое поле (type=»text»).

Какие еще атрибуты расширяют функционал input

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

В качестве примера создадим стандартную форму авторизации для ввода логина и пароля, где для каждого тега input пропишем уникальное название посредством атрибута name («login-x», «password-x», «submit1»). Вот как это будет выглядеть:

2. Accept — задает фильтрацию на виды файлов, которые можно загружать на сервер. Применим исключительно совместно с . Возможны следующий значения:

  • file_extension — расширение файла (.doc, .gif, .jpg, .png, .xls и т.д.);
  • audio/* — аудиофайлы (звуковые);
  • video/* — видеофайлы;
  • image/* — файлы изображений;
  • media_type — наименование MIME-типа (application/json, audio/mp4, image/gif и т.п.).

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

Загрузите видеоролик:

А вот с образец с возможным выбором изображений в форматах JPEG или PNG:

Загрузите картинку (формат JPEG или PNG):

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

3. Alt — применяется исключительно с целью создания альтернативного текста для графической кнопки «Отправить» (input type=»image»). Если по каким-то причинам изображение на страницу не загружено, то вместо него будет выведен фрагмент текста, описывающий эту картинку, он и является параметром данного атрибута.

Естественно, наряду с alt и type=»image» (см. таблицу параметров type выше) должен быть указан и атрибут src, где в качестве значения указан относительный либо абсолютный путь до картинки. Без лишних слов к примеру (слева — код, справа — вид кнопки без отображаемой картинки):

4. Autocomplete [HTML5] — дает возможность сохранять данные, введенные пользователями (два значения: on — автозаполнение включено, off — выключено). Если присутствие такого же атрибута в теге form регулирует автоматическое заполнение сразу для всех полей вебформы, то с помощью тега input можно его включить для одних элементов и отключить для других.

В ниже представленном примере для текстового поля (type=»text»), в которое вводится логин, автоматическое заполнение включено, а для области ввода пароля оно отключено. В результате после вторичного посещения страницы юзером, на которой размещена форма авторизации, его логин будет выведен автоматически:

Но механизм автоматического заполнения (autocomplete=»on») будет работать только тогда, когда в браузерных настройках конкретного пользователя включен режим автосохранения (обычно в целях общей безопасности у большинства юзеров эта опция не активирована). Например, в веб-браузере Google Chrome он запускается так («Настройки» — «Пользователи» — «Пароли»):

5. Checked (нет значений) — устанавливает флажки (галочки) для чекбоксов (type=»checkbox») и радиокнопок, или переключателей (type=»radio»). Причем, в пределах одной вебформы можно отметить сколь угодно много чекбоксов (множественный выбор):

И только один переключатель (единичный выбор):

6. Formaction [HTML5] — работает исключительно в связке с type=»image» или type=»submit» тега input (кнопка отправки) и указывает путь до файла, который обрабатывает занесенные в веб-форму данные. Этот путь (URL) служит значением данного атрибута, который по своему действию аналогичен action для тега form, но имеет перед ним приоритет. То есть, при наличии различных параметров обоих атрибутов учитываться будет значение formaction:

Для этого примера вся информация будет обрабатываться именно скриптом, относительный путь до которого (formdata-y) описывается именно атрибутом formaction тега input. При этом элемент action=»formdata» игнорируется веб-браузером.

Еще 4 атрибута (7-10) для input, действия которых тождественны аналогичным элементам для основного тега

Введите ваше имя:

13. List [HTML5] — выводит варианты, которые можно выбирать из списка. Параметром является имя идентификатора id (глобальный атрибут) тега , который служит контейнером для набора тэгов option, каждый из которых определяет свой пункт списка:

14. Max [HTML5] — определяет максимальное значение при вводе числа либо даты, которые выступают в роли параметров. Используются целые положительные и отрицательные числа для атрибутов type=»number», type=»range», а также календарные даты в формате YYYY.MM.DD (год, месяц и день) для type=»date».

15. Min [HTML5] — устанавливает минимально возможное для выбора число или дату. В отношении значений действуют те же правила, что и для атрибута max.

Совместное использование этих двух выше названных атрибутов дает возможность установить диапазон доступных к выбору значений:

Начало события (с 5 по 10 ноября 2020 г.):

Конец события (с 11 по 20 ноября 2020 г.):

Выберите число (от -5 до 5):

Действия следующих 6 атрибутов (пп. 16-21) тега input тождественны или почти совпадают с их воздействием применительно к тегу select.

16. Autofocus [HTML5] (параметры отсутствуют) — логический атрибут, который устанавливает фокус в поле сразу при загрузке вебстраницы, в результате чего можно вводить данные без щелчка по нему кнопкой мышки. Не может быть применен только к input type=»hidden».

17. Disabled (без значений) — отключает для пользователя тот элемент формы, к которому он добавлен. Чаще всего применяется совместно со скриптами, где прописываются условия, при выполнении которых недоступный элемент будет активирован.

18. Form [HTML5] — связывает элемент с формой, когда он располагается вне контейнера . Для связки к тэгу form добавляется глобальный атрибут ).

19. Multiple [HTML5] (параметров нет) — устанавливает возможность множественного выбора для пользователя и применяется только совместно с type=»file» и type=»email».

В случае использования поля для файловой загрузки возможно выбрать сразу несколько файлов с компьютера, задействовав клавиши Ctrl или Shift. Если же выводится поле для ввода адреса электронной почты (type=»email»), то вводить эмейлы следует через запятую.

20. Required [HTML5] (значения отсутствуют) — активирует обязательность внесения данных пользователем. Поэтому браузер блокирует отправку вебформы, если обязательное поле остается пустым и выводит соответствующее сообщение о необходимости его заполнения.

Данный атрибут не используется для графических и стандартных кнопок (type=»button | image»), а также для скрытого поля ввода (type=»hidden»).

21. Size — определяет ширину текстового поля в знаках (подходит лишь для элементов type с параметрами «email | password | search | tel | text | url»). Значение по умолчанию 20 символов.

Следующие четыре атрибута (22-25) для тега input несут практически тот же функционал, что и для многострочного поля textarea, но для полноты картины вкратце упомяну и их.


22. Maxlength [HTML5] — налагает лимит на максимальное количество символов, которое можно вводить при заполнении текстового поля. В случае попытки превысить это ограничение последует блокировка дальнейшего ввода. Этот атрибут применим исключительно для текстовых элементов с type=»email | password | search | tel | text | url».

23. Minlength [HTML5] — накладывает ограничение на минимальное число символов, требуемых ввести в текстовую область. Если последует попытка отправить данные, содержащие меньшее количество знаков, то появится коротенькое сообщение, в котором указано на необходимость дополнить содержание формы и будет дана информация о количестве уже введенных знаков. Условия использования точно такие же, как и в случае с maxlength.

24. Placeholder [HTML5] — можно поместить подсказку (она и будет служить параметром) прямо в текстовое поле, которая пропадет в тот момент, когда пользователь начнет вводить символы. Только для полей, которые формируются посредством параметров email, password, search, text, tel, url атрибута type тэга input.

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

И в завершение еще несколько атрибутов, дополняющих функционал различных элементов форм:

26. Pattern [HTML5] — в роли своего значения отражает регулярное выражение, на основании которого задаются правила ввода информации. При этом рекомендуется дополнительно добавить глобальный атрибут title, параметром которого внести разъяснительный текст для помощи юзерам при заполнении полей. Pattern применяется только для элементов email, password, search, text, tel, url. Разберемся на примере. Вот код упрощенной формы регистрации (с логином и паролем):

Для поля логина (type=»text») в качестве значения pattern прописано регулярное выражение [A-Za-z]<5,>, которое подразумевает использование знаков латинского алфавита, причем введено должно быть не менее пяти символов.

В отношении текстовой области для пароля (type=»password») задано значение [A-Za-z0-9]<8,>, определяющее ввод исключительно латиницы в любом регистре (большие и маленькие буквы), а также цифр, при этом общее количество всех знаков не должно быть меньше восьми.

При нарушении заданных условий ввода браузер не позволит отправить данные и выведет соответствующее предупреждение:

27. Src — определяет путь до изображения (URL, который является его значением) для отображения графической кнопки «image» (см.таблицу параметров input type выше).

28. Step [HTML5] — устанавливает шаг для элементов, предусматривающих выбор числовых значений (input type=»date | datetime-local | month | number | range | tel | time | week.»).

В качестве параметра может принимать любое целое или дробное число. По умолчанию step=»1″. Чтобы установить конечный диапазон ввода, можно опять-таки использовать атрибуты min и max, упомянутые чуть выше. Для наглядности в тестовую форму включим 2 элемента type=»number». Для первого выставим step=»2″, в для второго step=»0,1″:

Введите значение от -10 до 10:

Введите значение от 0 до 1:

29. Value — устанавливает значение элемента формы, которое будет передано обработчику. На сервер посылается пара «имя-параметр», где имя определяется атрибутом name тега input, а параметр — атрибутом value. При этом для различных элементов формы value будет играть разные роли:

  • для type=»button | reset | submit» — устанавливает текстовую надпись на кнопках;
  • для type=»checkbox | radio | image» — идентифицирует каждый чекбокс, переключатель или графическую кнопку при отправке и обработке данных на сервере;
  • для type=»password | text» — сразу при загрузке формы в поле выводит предварительный текст, который может быть изменен или полностью удален пользователем;
  • для type=»file» (загрузка файлов) не применяется, поскольку не влияет на этот элемент.

Пример использования для каждого из выше перечисленных вариантов:

Выберите CMS: WP Joomla

Здесь значение атрибута value определяет следующие составляющие каждого из элементов: выводит текстовый фрагмент для поля type=»text» («Ваше имя»), идентифицирует каждый из переключателей («1» и «2»), установленных с помощью type=»radio», а также активирует надпись на кнопке («Отправить»).

Пример создания красивой HTML формы

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

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

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

Более полная информация по созданию данной конкретной формы на этой странице (к слову, там же вы можете не только проверить функциональность отдельных текстовых областей, введя в них данные, но и поэкспериментировать с вебформой, отредактировав HTML-код или/и свойства CSS, полностью либо частично изменив ее внешний вид).

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

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

Атрибуты и свойства

Когда браузер загружает страницу, он «читает» (также говорят: «парсит») HTML и генерирует из него DOM-объекты. Для узлов-элементов большинство стандартных HTML-атрибутов автоматически становятся свойствами DOM-объектов.

Например, для такого тега у DOM-объекта будет такое свойство body. .

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

DOM-свойства

Ранее мы уже видели встроенные DOM-свойства. Их много. Но технически нас никто не ограничивает, и если этого мало – мы можем добавить своё собственное свойство.

DOM-узлы – это обычные объекты JavaScript. Мы можем их изменять.

Например, создадим новое свойство для document.body :

Мы можем добавить и метод:

Также можно изменять встроенные прототипы, такие как Element.prototype и добавлять новые методы ко всем элементам:

Итак, DOM-свойства и методы ведут себя так же, как и обычные объекты JavaScript:

  • Им можно присвоить любое значение.
  • Они регистрозависимы (нужно писать elem.nodeType , не elem.NoDeTyPe ).

HTML-атрибуты

В HTML у тегов могут быть атрибуты. Когда браузер парсит HTML, чтобы создать DOM-объекты для тегов, он распознаёт стандартные атрибуты и создаёт DOM-свойства для них.

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

Пожалуйста, учтите, что стандартный атрибут для одного тега может быть нестандартным для другого. Например, атрибут «type» является стандартным для элемента (HTMLInputElement), но не является стандартным для (HTMLBodyElement). Стандартные атрибуты описаны в спецификации для соответствующего класса элемента.

Мы можем увидеть это на примере ниже:

Таким образом, для нестандартных атрибутов не будет соответствующих DOM-свойств. Есть ли способ получить такие атрибуты?

Конечно. Все атрибуты доступны с помощью следующих методов:

  • elem.hasAttribute(name) – проверяет наличие атрибута.
  • elem.getAttribute(name) – получает значение атрибута.
  • elem.setAttribute(name, value) – устанавливает значение атрибута.
  • elem.removeAttribute(name) – удаляет атрибут.

Этим методы работают именно с тем, что написано в HTML.

Кроме этого, получить все атрибуты элемента можно с помощью свойства elem.attributes : коллекция объектов, которая принадлежит ко встроенному классу Attr со свойствами name и value .

Вот демонстрация чтения нестандартного свойства:

У HTML-атрибутов есть следующие особенности:

  • Их имена регистронезависимы ( id то же самое, что и ID ).
  • Их значения всегда являются строками.

Расширенная демонстрация работы с атрибутами:

Пожалуйста, обратите внимание:

  1. getAttribute(‘About’) – здесь первая буква заглавная, а в HTML – строчная. Но это не важно: имена атрибутов регистронезависимы.
  2. Мы можем присвоить что угодно атрибуту, но это станет строкой. Поэтому в этой строчке мы получаем значение «123» .
  3. Все атрибуты, в том числе те, которые мы установили, видны в outerHTML .
  4. Коллекция attributes является перебираемой. В ней есть все атрибуты элемента (стандартные и нестандартные) в виде объектов со свойствами name и value .

Синхронизация между атрибутами и свойствами

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

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

Но есть и исключения, например, input.value синхронизируется только в одну сторону – атрибут → значение, но не в обратную:

  • Изменение атрибута value обновило свойство.
  • Но изменение свойства не повлияло на атрибут.

Иногда эта «особенность» может пригодиться, потому что действия пользователя могут приводить к изменениям value , и если после этого мы захотим восстановить «оригинальное» значение из HTML, оно будет в атрибуте.

DOM-свойства типизированы

DOM-свойства не всегда являются строками. Например, свойство input.checked (для чекбоксов) имеет логический тип:

Есть и другие примеры. Атрибут style – строка, но свойство style является объектом:

Хотя большинство свойств, всё же, строки.

При этом некоторые из них, хоть и строки, могут отличаться от атрибутов. Например, DOM-свойство href всегда содержит полный URL, даже если атрибут содержит относительный URL или просто #hash .

Если же нужно значение href или любого другого атрибута в точности, как оно записано в HTML, можно воспользоваться getAttribute .

Нестандартные атрибуты, dataset

При написании HTML мы используем много стандартных атрибутов. Но что насчёт нестандартных, пользовательских? Во-первых, давайте посмотрим, полезны они или нет? Для чего они нужны?

Иногда нестандартные атрибуты используются для передачи пользовательских данных из HTML в JavaScript, или чтобы «помечать» HTML-элементы для JavaScript.

Также они могут быть использованы, чтобы стилизовать элементы.

Например, здесь для состояния заказа используется атрибут order-state :

Почему атрибут может быть предпочтительнее таких классов, как .order-state-new , .order-state-pending , order-state-canceled ?

Это потому, что атрибутом удобнее управлять. Состояние может быть изменено достаточно просто:

Но с пользовательскими атрибутами могут возникнуть проблемы. Что если мы используем нестандартный атрибут для наших целей, а позже он появится в стандарте и будет выполнять какую-то функцию? Язык HTML живой, он растёт, появляется больше атрибутов, чтобы удовлетворить потребности разработчиков. В этом случае могут возникнуть неожиданные эффекты.

Чтобы избежать конфликтов, существуют атрибуты вида data-*.

Все атрибуты, начинающиеся с префикса «data-», зарезервированы для использования программистами. Они доступны в свойстве dataset .

Например, если у elem есть атрибут «data-about» , то обратиться к нему можно как elem.dataset.about .

Атрибуты, состоящие из нескольких слов, к примеру data-order-state , становятся свойствами, записанными с помощью верблюжьей нотации: dataset.orderState .

Вот переписанный пример «состояния заказа»:

Использование data-* атрибутов – валидный, безопасный способ передачи пользовательских данных.

Пожалуйста, примите во внимание, что мы можем не только читать, но и изменять data-атрибуты. Тогда CSS обновит представление соответствующим образом: в примере выше последняя строка (*) меняет цвет на синий.

Итого

  • Атрибуты – это то, что написано в HTML.
  • Свойства – это то, что находится в DOM-объектах.
Свойства Атрибуты
Тип Любое значение, стандартные свойства имеют типы, описанные в спецификации Строка
Имя Имя регистрозависимо Имя регистронезависимо

Методы для работы с атрибутами:

  • elem.hasAttribute(name) – проверить на наличие.
  • elem.getAttribute(name) – получить значение.
  • elem.setAttribute(name, value) – установить значение.
  • elem.removeAttribute(name) – удалить атрибут.
  • elem.attributes – это коллекция всех атрибутов.

В большинстве ситуаций предпочтительнее использовать DOM-свойства. Нужно использовать атрибуты только тогда, когда DOM-свойства не подходят, когда нужны именно атрибуты, например:

  • Нужен нестандартный атрибут. Но если он начинается с data- , тогда нужно использовать dataset .
  • Мы хотим получить именно то значение, которое написано в HTML. Значение DOM-свойства может быть другим, например, свойство href – всегда полный URL, а нам может понадобиться получить «оригинальное» значение.

Задачи

Получите атрибут

Напишите код для выбора элемента с атрибутом data-widget-name из документа и прочитайте его значение.

Как вставить html в атрибут value input?

11.03.2020, 14:51

Можно ли как-то инкапсулировать атрибут pattern тэга input?
У меня используется следующий паттерн для проверки номера телефона.

Как вставить атрибут multiple для ранних версий браузеров?
Делаю загрузчик файлов. В форме добавляю К сожалению, в спецификаци.

Как вставить select в input?
Добрый день. Подскажите как вставить select в input? Есть форма в которой есть список для выбора.

(тег input) атрибут placeholder не отображается в IE8
С новым годом! Кто сталкивался? Тег input атрибут placeholder не отображается в IE8, хотя.

Вставить в html документ атрибут по средствам jqury
Добрый день! Мне нужно вставить в html документ атрибут с помощью jqury, но так чтобы после.

How to define a default value for “input type=text” without using attribute ‘value’?

I need to give a default value for input type=text field as follows:

There is one way to give this default value as I know:

Here is the question: Is it possible that I can set the default value without using attribute ‘value’?

As I know, if I set the enter the value 1000 manually, and then view the source through web browser the value is still empty. So I think there may be a method that I can use.

Значения атрибутов HTML

Типы значений у атрибутов HTML

Схема HTML-тега с атрибутом и значением, выглядит следующим образом:

Схема парного тега:

Схема одиночного тега:

В статье Об атрибутах HTML, мы рассмотрели виды атрибутов, существующих в языке HTML. У разных атрибутов имеются определённые типы значений, давайте рассмотрим их:

  • Значения атрибутов событий,
  • Значения атрибутов форматирования,
  • Значения атрибутов селекторов,
  • Значения атрибута стиля,
  • Значения атрибутов указания пути (адреса, URL),
  • Значения атрибутов описания.

Значения атрибутов событий

В качестве значений атрибута события, выступает функция или JavaScript-код, их мы будем рассматривать при изучении языка программирования JavaScript и клиентской веб-технологии DOM.

Примеры, использования значений атрибутов событий:
onclick=»alert()» — в качестве значения, выступает встроенная функция JavaScript,
onclick=»myFunction()» — в качестве значения, выступает пользовательская функция JavaScript,
onmouseover=»document.getElementBy ;» — в качестве значения, выступает технология DOM.

Значения атрибутов форматирования

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

Значения атрибутов форматирования, делятся на три вида:

а) Значение размера,
б) Значение цвета,
в) Ключевое слово.

а) В качестве значений размера выступают пиксели px или проценты % , более подробно об этом вы можете прочитать в статье Единицы измерения в HTML

Примеры использования значений размера атрибутов форматирования:
height=»100px» — высота элемента 100 пикселей,
w — ширина элемента 50 процентов.

б) В качестве значений цвета могут выступать слова на английском языке (например red ) или числа в шестнадцатеричном формате (например #ff0000 ), более подробно об этом вы можете прочитать в статье Цвета в HTML

Примеры использования значений цвета атрибутов форматирования:
color=»red» — красный цвет шрифта, задан английским словом,
bgcolor=»#ff0000″ — красный цвет фона элемента, задан в шестнадцатеричном формате,
bordercolor=»green» — зелёный цвет рамки элемента, задан английским словом.

в) В качестве значений ключевого слова выступают слова которые уже встроены в язык HTML, например right , top , _blank и т.д.

Примеры использования значений ключевого слова, в атрибутах:
align=»right» — выравнивает элемент по правому краю,
valign=»bottom» — выравнивает элемент по нижнему краю,
target=»_blank» — открывает страницу в новом окне (не является атрибутом форматирования).

Значения атрибутов селекторов

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

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

Значение атрибута стиля

В качестве значения атрибута стиля выступает CSS-код, более подробно об этом вы можете прочитать в учебнике по языку CSS, в статье Внедрение атрибута style

Примеры использования значений атрибута style=» » :
style=»color: green;» — присвоить шрифту зелёный цвет green ,
style=»font-family: Arial;» — присвоить шрифту имя Arial .

Значения атрибутов указания пути

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

http://site.ru — абсолютный путь,
http://site.ru/stranitsa.html — абсолютный путь,

../stranitsa.html — относительный путь,
/img/myPicture.html — относительный путь.

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

Примеры использования значений атрибутов указания пути:
href=»http://site.ru» — ссылка на сайт,
src=»http://gabdrahimov.ru/img/myPicture.jpg» — ссылка на файл изображения.

Значения атрибутов описания

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

Примеры использования значений атрибутов описания:
alt=»Это фотография моего кота» — описание изображения,
title=»Нажав на ссылку вы перейдёте на крутой сайт» — описание ссылки с помощью глобального атрибута title .

Илон Маск рекомендует:  Форматы elf и pe exe
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL