HTML | input type url

HTML | input type url

Когда атрибут type элемента ввода input находится в состоянии URL, применяются правила этого раздела.

Элемент ввода input представляет собой элемент управления для редактирования одного абсолютного URL-адреса, заданного в значении элемента.

Если элемент является изменяемым (mutable), пользовательский агент должен позволить пользователю изменить URL-адрес, представленный его значением. Пользовательские агенты могут позволить пользователю установить значение в строку, которая не является допустимым абсолютным URL-адресом, но могут также или вместо этого автоматически экранировать символы, введённые пользователем, чтобы значение всегда было допустимым абсолютным URL-адресом (даже если это не фактическое значение, видимое и редактируемое пользователем в интерфейс). Пользовательские агенты должны позволять пользователю устанавливать значение в пустую строку. Агенты пользователя не должны разрешать пользователям вставлять в значение символы ПЕРЕВОДА СТРОКИ U+000A (LF) или возврата КАРЕТКИ U+000D (CR).

Атрибут value, если он указан и не пуст, должен иметь значение, которое является допустимым URL-адресом, потенциально окружённым пробелами, который также является абсолютным URL-адресом.

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

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

 

Детали учёта

К элементу применяются следующие общие атрибуты содержимого элемента ввода input, атрибуты IDL и методы:

Контентные атрибуты:

autocomplete (автозаполнение), list, (список), maxlength, (максимальная длина), minlength, (минимальная длина), pattern, (шаблон), placeholder, (заполнитель), readonly, (атрибуты содержимого только для чтения), required, (обязательные атрибуты), and size, (размер);

IDL атрибуты:

listselectionStartselectionEndselectionDirection, value;

Методы:

select(), setRangeText() и setSelectionRange().

IDL-атрибут value находится в режиме значения.

Применяются события ввода input и изменения change.

Следующие атрибуты содержимого не должны указываться и не применяются к элементу: accept, alt, checked, dirname, formaction, formenctype, formmethod, formnovalidate, formtarget, height, max, min, multiple, src, step и width.

К элементу не применяются следующие IDL-атрибуты и методы: checked, files, valueAsDate и valueAsNumber IDL-атрибуты; методы stepDown() и stepUp().

 

Пример

Если документ содержал следующую разметку:

<input type=«url» name=«location» list=«urls»>

<datalist id=«urls»>

 <option label=«MIME: Format of Internet Message Bodies» value=«https://www.rfc-editor.org/rfc/rfc2045»>

 <option label=«HTML» value=«https://html.spec.whatwg.org/»>

 <option label=«DOM» value=«https://dom.spec.whatwg.org/»>

 <option label=«Fullscreen» value=«https://fullscreen.spec.whatwg.org/»>

 <option label=«Media Session» value=«https://mediasession.spec.whatwg.org/»>

 <option label=«The Single UNIX Specification, Version 3» value=«http://www.unix.org/version3/»>

</datalist>

 

… и пользователь набрал «spec.w«, и пользовательский агент также обнаружил, что пользователь посетил «https://url.spec.whatwg.org/#url-parsing» и «https://streams.spec .whatwg.org/» в недавнем прошлом, то рендеринг может выглядеть так:

HTML-элемент input и spec.w
HTML-элемент input и spec.w

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

Последние два URL-адреса (и, вероятно, многие другие, учитывая, что полоса прокрутки указывает на то, что доступно больше значений) являются совпадениями из данных истории сеансов пользовательского агента. Эти данные недоступны для страницы DOM. В этом конкретном случае UA не имеет заголовков для предоставления этих значений.

 

Информационные ссылки

Стандарт HTML — Раздел «4.10.5.1.4 URL state (type=url)» — https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)