Spec-Zone.ru › HTML

<textarea>: Элемент textarea

Базовая поддержка Широко доступна

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Элемент <textarea> HTML представляет собой поле для многострочного ввода обычного текста, полезное при необходимости ввода большого объёма произвольного текста, например, комментария к обзору или формы обратной связи.

Попробуйте

Данный пример демонстрирует ряд функций <textarea>:

  • Атрибут id для связи поля <textarea> с элементом <label> в целях доступности
  • Атрибут name для задания имени связанной точки данных, передаваемой на сервер при отправке формы.
  • Атрибуты rows и cols для задания точного размера <textarea>. Установка этих атрибутов рекомендуется для обеспечения согласованности, поскольку значения по умолчанию в браузерах могут отличаться.
  • Текст по умолчанию, введённый между открывающим и закрывающим тегами. <textarea> не поддерживает атрибут value.

Элемент <textarea> также принимает несколько атрибутов, общих для элементов форм <input> , таких как autocapitalize, autocomplete, autofocus, disabled, placeholder, readonly, и required.

Атрибуты

Этот элемент включает глобальные атрибуты.

autocapitalize

Управляет автоматическим прописным написанием введённого текста и, при необходимости, способом его форматирования. Для получения дополнительной информации см. страницу глобального атрибута autocapitalize.

autocomplete

Данный атрибут указывает, может ли браузер автоматически заполнить значение поля. Возможные значения:

  • off: Пользователь должен вводить значение в поле для каждого использования, или документ предоставляет собственный метод автозаполнения; браузер не автоматически заполняет поле.
  • on: Браузер может автоматически заполнить значение на основе значений, которые пользователь вводил ранее.

Если атрибут autocomplete не указан для элемента <textarea>, браузер использует значение атрибута autocomplete владельца формы <textarea>. Владелец формы — это либо элемент <form>, вложенный в элемент <textarea>, либо элемент формы, чьё значение id указано атрибутом form элемента ввода. Для получения дополнительной информации см. атрибут autocomplete в элементе <form>.

autocorrect Нестандартный

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

on

Активировать автоматическую проверку орфографии и подстановку текста.

off

Отключить автоматическую проверку орфографии и подстановку текста.

autofocus

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

cols

Видимая ширина элемента управления текстом в среднем количестве символов. Если указано, должно быть положительным целым числом. Если не указано, значение по умолчанию — 20.

dirname

Этот атрибут используется для указания направления текста в содержании элемента. Дополнительная информация в dirname атрибуте.

disabled

Этот булевый атрибут указывает, что пользователь не может взаимодействовать с элементом управления. Если этот атрибут не указан, элемент управления наследует своё состояние от содержащего элемента, например, <fieldset>; если содержащего элемента нет, когда атрибут disabled установлен, элемент управления активен.

form

Элемент формы, с которым связан элемент <textarea> (его "владелец формы"). Значение атрибута должно быть id элемента формы в том же документе. Если этот атрибут не указан, элемент <textarea> должен быть потомком элемента формы. Этот атрибут позволяет размещать элементы <textarea> в любом месте документа, а не только как потомки элементов формы.

maxlength

Максимальная длина строки (измеряется в единицах кода UTF-16), которую пользователь может ввести. Если это значение не указано, пользователь может ввести неограниченное количество символов.

minlength

Минимальная длина строки (измеряется в единицах кода UTF-16), которую пользователь должен ввести.

name

Имя элемента управления.

placeholder

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

Примечание: Подсказки следует использовать только для отображения примера типа данных, который необходимо ввести в форму; они не являются заменой правильно настроенного элемента <label>, связанного с вводом. Подробнее об <input> метках.

readonly

Этот булевый атрибут указывает, что пользователь не может изменить значение элемента управления. В отличие от атрибута disabled, атрибут readonly не препятствует пользователю кликать или выделять текст в элементе управления. Значение элемента со свойством "только для чтения" всё равно отправляется вместе с формой.

required

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

rows

Количество видимых строк текста в элементе управления. Если указано, должно быть положительным целым числом. Если не указано, значение по умолчанию — 2.

spellcheck

Указывает, подлежит ли <textarea> проверке орфографии в браузере/ОС. Значение может быть:

  • true: Указывает, что элемент должен быть проверен на орфографические и грамматические ошибки.
  • default : Указывает, что элемент должен вести себя в соответствии с поведением по умолчанию, возможно, основываясь на значении атрибута spellcheck родительского элемента.
  • false : Указывает, что элемент не должен проверяться на орфографические ошибки.
wrap

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

  • hard: Браузер автоматически вставляет разрывы строк (CR+LF), чтобы каждая строка не превышала ширину элемента управления; для этого необходимо указать атрибут cols.
  • soft: Браузер гарантирует, что все разрывы строк во введённом значении являются парой CR+LF, но дополнительные разрывы строк не добавляются к значению.
  • off Нестандартный : Похоже на soft, но изменяет вид на white-space: pre, чтобы сегменты строк, превышающие cols, не обрезались, а <textarea> стал горизонтально прокручиваемым.

Если этот атрибут не указан, значение по умолчанию — soft.

Стиль с помощью CSS

<textarea> — это элемент со встроенными размерами, подобно растровому изображению. По умолчанию его значение display равно inline-block. В сравнении с другими элементами форм, его относительно просто стилизовать, так как его модель области, шрифты, цветовая схема и прочие аспекты легко настраиваются с помощью обычного CSS.

Стилизация HTML-форм предоставляет полезные советы по стилизации <textarea>.

Несоответствие базовой поддержки

Спецификация HTML не определяет, где находится нижняя граница <textarea>, поэтому разные браузеры устанавливают её в разных позициях. Для Gecko, нижняя граница <textarea> устанавливается на линии первой строки текстового поля, в другом браузере она может быть установлена внизу <textarea> поля. Не используйте vertical-align: baseline для него; поведение непредсказуемо.

Настройка возможности изменения размера текстового поля

В большинстве браузеров текстовые поля <textarea> изменяют свой размер — вы заметите маркер перетаскивания в правом нижнем углу, который можно использовать для изменения размера элемента на странице. Это регулируется свойством CSS resize — изменение размера включено по умолчанию, но вы можете явно отключить его, используя значение resize none:

css
textarea {
  resize: none;
}

Стиль валидных и невалидных значений

Валидные и невалидные значения элемента <textarea> (например, те, которые находятся внутри и за пределами границ, установленных minlength, maxlength, или required), могут быть выделены с помощью псевдоклассов :valid и :invalid. Например, чтобы придать вашему текстовому полю разный вид границы в зависимости от того, является ли оно валидным или невалидным:

css
textarea:invalid {
  border: 2px dashed red;
}

textarea:valid {
  border: 2px solid lime;
}

Примеры

Базовый пример

Следующий пример демонстрирует текстовое поле с заданным количеством строк и столбцов, некоторым содержимым по умолчанию и стилями CSS, которые предотвращают изменение размера элемента более чем 500 пикселей в ширину и 130 пикселей в высоту:

html
<textarea name="textarea" rows="5" cols="15">Write something here</textarea>
css
textarea {
  max-height: 130px;
  max-width: 500px;
}

Результат

Пример использования "minlength" и "maxlength"

В этом примере установлено минимальное и максимальное количество символов — соответственно 10 и 20. Попробуйте.

html
<textarea name="textarea" rows="5" cols="30" minlength="10" maxlength="20">
Write something here…
</textarea>
css
textarea {
  max-height: 130px;
  max-width: 500px;
}

Результат

Обратите внимание, что minlength не препятствует пользователю удалять символы, чтобы введенное число превысило минимум, но делает введенное значение в <textarea> невалидным. Также обратите внимание, что даже если у вас установлено значение minlength (например, 3), пустое <textarea> всё ещё считается валидным, если у вас также не установлено свойство required.

Пример использования "placeholder"

В этом примере установлен placeholder. Обратите внимание, как он исчезает при вводе в поле.

html
<textarea
  name="textarea"
  rows="5"
  cols="30"
  placeholder="Comment text."></textarea>
css
textarea {
  max-height: 130px;
  max-width: 500px;
}

Результат

Примечание: Placeholder следует использовать только для показа примера типа данных, которые должны быть введены в форму; они не являются заменой правильного элемента <label>, связанного с вводом. См. <input> метки для полного объяснения.

Отключенные и только для чтения текстовые поля

В этом примере показаны два <textarea> — одно является readonly, а другое — disabled. Вы не можете редактировать содержимое ни одного элемента, но элемент readonly может получить фокус и его значение отправляется в формах. Значение элемента disabled не отправляется и на него нельзя навести фокус.

html
<textarea name="textarea" rows="5" cols="30" readonly>
I am a read-only textarea.
</textarea>
<textarea name="textarea" rows="5" cols="30" disabled>
I am a disabled textarea.
</textarea>
css
textarea {
  display: block;
  resize: horizontal;
  max-width: 500px;
}

Результат

Техническое резюме

Категории содержимого Потоковое содержимое, содержимое фразы, Интерактивное содержимое, перечисленный, меченый, сбрасываемый и отправляемый элемент, связанный с формой.
Разрешенное содержимое Текст
Пропуск тега Нет, обязательны и открывающий, и закрывающий теги.
Разрешенные родительские элементы Любой элемент, принимающий содержимое фразы.
Неявная роль ARIA textbox
Разрешенные роли ARIA Разрешенные роли ARIA role
Интерфейс DOM HTMLTextAreaElement

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

Спецификация
Стандарт HTML
# the-textarea-element

Совместимость с браузерами

Настольный Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
textarea 1 12
1["До Firefox 6, когда <textarea> был в фокусе, курсор по умолчанию устанавливался в конце текста. В других основных браузерах курсор устанавливается в начале текста.", "Градиент фонового изображения по умолчанию применяется ко всем элементам <textarea>, его можно отключить с помощью background-image: none.", "До Firefox 89, управление содержимым элементов <textarea> с помощью команд Document.execCommand() требует обходных путей (см. bug 1220696)."]
≤12.1 ≤4 18
4["До Firefox 6, когда <textarea> был в фокусе, курсор по умолчанию устанавливался в конце текста. В других основных браузерах курсор устанавливается в начале текста.", "Градиент фонового изображения по умолчанию применяется ко всем элементам <textarea>, его можно отключить с помощью background-image: none.", "До Firefox 89, управление содержимым элементов <textarea> с помощью команд Document.execCommand() требует обходных путей (см. bug 1220696)."]
≤12.1
≤3В отличие от других основных браузеров, стиль opacity: 0.4 по умолчанию применяется к отключенным элементам <textarea>.
1.0 4.4
autocomplete 66 79 59 53 9.1 66 59 47 9.3 9.0 66
cols 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
dirname 17 79 116 ≤12.1 6 18 116 ≤12.1 6 1.0 ≤37
disabled 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
form 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
maxlength 4 12 4 ≤12.1
5До Safari 17, символы новой строки считались за два символа вместо одного. См. bug 249916.
18 4 ≤12.1
4.2До Safari 17, символы новой строки считались за два символа вместо одного. См. bug 249916.
1.0 ≤37
minlength 40 17 51 27 10.1 40 51 27 10.3 4.0 40
name 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
placeholder 4 12 4 ≤12.1 5 18 4 ≤12.1 5 1.0 ≤37
readonly 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
required 4 12 4 ≤12.1 5 18 4 ≤12.1 5 1.0 ≤37
rows 1 12 1 ≤12.1 ≤4 18 4 ≤12.1 ≤3.2 1.0 4.4
spellcheck 9 12 2 15 5.1 18 4 14 5 1.0 4.4
wrap 16 12 4 ≤12.1 6 18 4 ≤12.1 6 1.0 ≤37

См. также

  • Другие элементы, связанные с формами:
    • <form>
    • <button>
    • <datalist>
    • <legend>
    • <label>
    • <select>
    • <optgroup>
    • <option>
    • <input>
    • <fieldset>
    • <output>
    • <progress>
    • <meter>

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API