IT и мир ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд

Html input hidden

Html input hidden

element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. «> elements of type «hidden» let web developers include data that cannot be seen or modified by users when a form is submitted. For example, the ID of the content that is currently being ordered or edited, or a unique security token. Hidden inputs are completely invisible in the rendered page, and there is no way to make it visible in the page’s content.

Note: There is a live example below the following line of code — if it is working correctly, you should see nothing!

ValueA DOMString representing the value of the hidden data you want to pass back to the server.
Supported Common Attributesautocomplete
IDL attributesvalue

Note: The input and change events do not apply to this input type. Hidden inputs cannot be focused even using JavaScript (e.g. hiddenInput.focus() ).


The element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. «> element’s value attribute holds a DOMString that contains the hidden data you want to include when the form is submitted to the server. This specifically can’t be edited or seen by the user via the user interface, although you could edit the value via browser developer tools.

Important: While the value isn’t displayed to the user in the page’s content, it is visible—and can be edited—using any browser’s developer tools or «View Source» functionality. Do not rely on hidden inputs as a form of security.

Additional attributes

nameLike all input types, the name of the input to report when submitting the form; the special value _charset_ causes the hidden input’s value to be reported as the character encoding used to submit the form

This is actually one of the common attributes, but it has a special meaning available for hidden inputs. Normally, the name attribute functions on hidden inputs just like on any other input. However, when the form is submitted, a hidden input whose name is set to _charset_ will automatically be reported with the value set to the character encoding used to submit the form.

Using hidden inputs

As mentioned above, hidden inputs can be used anywhere that you want to include data the user can’t see or edit along with the form when it’s submitted to the server. Let’s look at some examples that illustrate its use.

Tracking edited content

One of the most common uses for hidden inputs is to keep track of what database record needs to be updated when an edit form is submitted. A typical workflow looks like this:

  1. User decides to edit some content they have control over, such as a blog post, or a product entry. They get started by pressing the edit button.
  2. The content to be edited is taken from the database and loaded into an HTML form to allow the user to make changes.
  3. After editing, the user submits the form, and the updated data is sent back to the server to be updated in the database.

The idea here is that during step 2, the ID of the record being updated is kept in a hidden input. When the form is submitted in step 3, the ID is automatically sent back to the server with the record content. The ID lets the site’s server-side component know exactly which record needs to be updated with the submitted data.

You can see a full example of what this might look like in the Examples section below.

Improving website security

Hidden inputs are also used to store and submit security tokens or secrets, for the purposes of improving website security. The basic idea is that if a user is filling in a sensitive form, such as a form on their banking website to transfer some money to another account, the secret they would be provided with would prove that they are who they say they are, and that they are using the correct form to submit the transfer request.

This would stop a malicious user from creating a fake form, pretending to be a bank, and emailing the form to unsuspecting users to trick them into transferring money to the wrong place. This kind of attack is called a Cross Site Request Forgery (CSRF); pretty much any reputable server-side framework uses hidden secrets to prevent such attacks.

As stated previously, placing the secret in a hidden input doesn’t inherently make it secure. The key’s composition and encoding would do that. The value of the hidden input is that it keeps the secret associated with the data and automatically includes it when the form is sent to the server. You need to use well-designed secrets to actually secure your website.


Hidden inputs don’t participate in constraint validation; they have no real value to be constrained.


Let’s look at how we might implement a simple version of the edit form we described earlier (see Tracking edited content), using a hidden input to remember the ID of the record being edited.

The edit form’s HTML might look a little bit like this:

Let’s also add some simple CSS:

The server would set the value of the hidden input with the ID «postID» to the ID of the post in its database before sending the form to the user’s browser and would use that information when the form is returned to know which database record to update with modified information. No scripting is needed in the content to handle this.

The output looks like this:

Note: You can also find the example on GitHub (see the source code, and also see it running live).

When submitted, the form data sent to the server will look something like this:

Even though the hidden input cannot be seen at all, its data is still submitted.


HTML Living Standard
The definition of ‘ ‘ in that specification.
Living StandardInitial definition
HTML 5.2
The definition of ‘ ‘ in that specification.
RecommendationInitial definition

Browser compatibility

Update compatibility data on GitHub

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
type=»hidden»Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support YesOpera Full support 2Safari Full support 1WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes


See also

  • HTML forms guide
  • element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. «> and the HTMLInputElement interface it’s based upon


  • Last modified: Jun 5, 2019 , by MDN contributors
  • element represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.»>
  • element represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.»>
  • I
    1. element represents a range of text that is set off from the normal text for some reason.»>
    2. ) represents a nested browsing context, embedding another HTML page into the current one.»>
    3. element embeds an image into the document.»>
    4. element is used to create interactive controls for web-based forms in order to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. «>
    5. element represents a range of text that has been added to a document.»>
    6. was an obsolete HTML element that put a text field in a page for querying the document.»>
  • J K
    1. ) represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device.»>
    2. element exists to facilitate generation of key material, and submission of the public key as part of an HTML form. This mechanism is designed for use with Web-based certificate management systems. It is expected that the element will be used in an HTML form along with other information needed to construct a certificate request, and that the result of the process will be a signed certificate.»>
  • L
    1. element represents a caption for an item in a user interface.»>
    2. element represents a caption for the content of its parent .»>
    3. element is used to represent an item in a list.»>
    4. ) specifies relationships between the current document and an external resource. This element is most commonly used to link to stylesheets, but is also used to establish site icons (both «favicon» style icons and icons for the home screen and apps on mobile devices) among other things.’>
    5. ) renders text between the start and end tags without interpreting the HTML in between and using a monospaced font. The HTML 2 standard recommended that lines shouldn’t be broken when not greater than 132 characters.»>
  • M
    1. element represents the dominant content of the of a document. The main content area consists of content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.»>
    2. element is used with elements to define an image map (a clickable link area).»>
    3. ) represents text which is marked or highlighted for reference or notation purposes, due to the marked passage’s relevance or importance in the enclosing context.»>
    4. element is used to insert a scrolling area of text. You can control what happens when the text reaches the edges of its content area using its attributes.»>
    5. element represents a group of commands that a user can perform or activate. This includes both list menus, which might appear across the top of a screen, as well as context menus, such as those that might appear underneath a button after it has been clicked.»>
    6. element represents a command that a user is able to invoke through a popup menu. This includes context menus, as well as menus that might be attached to a menu button.»>
    7. element represents metadata that cannot be represented by other HTML meta-related elements, like ,
    8. ,
  • Sign In

    Sign in to enjoy the benefits of an MDN account. If you haven’t already created an account, you will be prompted to do so after signing in.

    Html input hidden

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


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


    Кнопка RESET

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

    Совет: осторожно относитесь к выбору надписи на кнопке RESET. Вполне наглядным (и, главное, интуитивно понятным даже чайнику из чайников) будет что-нибудь вроде «Очистить», «Начать сначала», «Удалить ввод» и т.п. В общем, надо, чтобы у пользователя не закралось и тени сомнения относительно предназначения этой клавиши.


    Поле ввода TEXT

    Текстовое поле ввода используется в формах наиболее часто. Более того, его можно по праву считать основным и главнейшим элементом форм. Этот тип используется тегом по умолчанию, его можно не указывать, чтобы вывести текстовое поле. Однако, если возникнет необходимость задать стиль для селектора input[type=»text»], то тогда атрибут type=»text» пропускать нельзя.
    Имя поля, задаваемое атрибутом name, всегда обязательно, так как базируясь именно на этом параметре, браузер передает сценарию пару имя=значение.


    Текст «Иванов» помещается в созданное поле в качестве начального значения. Если пользователь не внесет изменений или нажмет кнопку RESET, то значение Иванов будет отправлено сценарию в качестве фамилии пользователя.

    Поле ввода чисел NUMBER

    Поле предназначено для ввода чисел. Дробная часть при вводе может отделяться как точкой (2.5), так и запятой (2,5). Если пользователь введет буквы, то отправить форму на сервер не удастся.


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


    Для задания любого шага используйте step=»any».


    Поле number отображается по-разному: некоторые браузеры показывают стрелочки всегда, некоторые – только при наведении или получении полем фокуса.

    Если нужно, чтобы стрелочки в поле number были всегда, задайте стиль:

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

    Ползунок RANGE

    Поле предназначено для ввода числа в указанном диапазоне.

    Можно задать минимальное значение (по умолчанию 0), максимальное значение (по умолчанию 100), шаг изменения числа (по умолчанию 1) и текущее значение (по умолчанию среднее арифметическое минимального и максимального значений).


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


    Поле range отображается разными браузерами по-разному.

    Если хотите своё оформление, задайте стили для ползунка:

    Но победить до конца стили IE11 не удастся!

    Поле ввода пароля PASSWORD

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


    Скрытое поле HIDDEN

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


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


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

    Поле ввода адреса электронной почты

    Для ввода нескольких адресов можно добавить атрибут multiple, при этом для разделения адресов используется запятая (,)


    Флажок CHECKBOX

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

    Флажок может быть сразу установлен по умолчанию, если указан атрибут checked. По умолчанию атрибут value имеет значение on (установлен). Так как атрибут value здесь задает не надпись на флажке, а его внутреннее значение, передаваемое программе сценария, то если надо что-то подписать, пишите рядом с флажком или используйте тег .


    Переключатель RADIO

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

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

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


    Файл FILE

    Позволяет передать сценарию любой файл. Максимальный размер файла в байтах задается скрытым полем max_file_size.


    Сценарий получения файла на PHP:

    Для указания возможных типов файлов используется атрибут accept:
    Для CSV files (.csv), используйте: Для Excel Files 2003-2007 (.xls), используйте: Для Excel Files 2010 (.xlsx), используйте: Для Text Files (.txt) используйте: Для Image Files (.png/.jpg/etc), используйте: Для HTML Files (.htm,.html), используйте: Для Video Files (.avi, .mpg, .mpeg, .mp4), используйте: Для Audio Files (.mp3, .wav, etc), используйте: Для PDF Files, используйте:

    Браузер Chrome понимает дополнительные атрибуты «webkitdirectory directory«, указание которых у input позволяет выбирать целые папки:

    input ( type=hidden ) element

    If you don’t know what an element is or how you must use it, I recommend you read the «HTML tags and attributes» tutorial that you can find in the HTML tutorials section.

    Table of contents


    The input element, having the «h >type attribute, represents any abitrary text string that’s not supposed to be seen or edited by the user. Hidden inputs are specially useful to send data to the server defined by the author, based or not on user interaction.

    The content of the value attribute in this element is usually static, but authors may employ scripts to change it as they see fit.



    Specific attributes


    A boolean value instructing the browser to set the focus to this control when the document has finished loading or when the dialog where the control finds itself is shown. If the attribute has the value «autofocus» or the empty string («»), or if it’s just present, the control should get the focus as soon as possible, after the page or dialog has been loaded.


    A boolean value indicating wether the control is disabled or not. If the attribute takes the value «disabled» or the empty string («»), or if it’s just present, the control will be disabled.

    Disabled controls are rendered greyed out (if visible), are blocked from user interaction and, more importantly, their values (if any) aren’t sent when the form is submitted.

    The value of the id attribute of the form with which this control is associated to.

    A name for the control. This name will be sent by the browser to the processing agent, paired with the content of the value attribute. Both attributes together will conform a name-value pair that will be used to process the form data.

    Currently, the value isindex (formerly used in a special way by some browsers and included in the HTML standar) as well as the empty string, aren’t permitted in this attribute.

    When this attribute takes the special value _charset_ and the value attribute isn’t specified, the character encoding used in the form is automatically set as the content of the value attribute upon submission.

    A value indicating the type of the field that this element represents. There are twenty two possible values (case-insensitive):

    • hidden: a hidden control used to send information to the server, typically managed by scripts.
    • text: a control used to input a single-line piece of text.
    • search: same as text but for search purposes.
    • tel: a control used to provide a telephone number.
    • url: a text box used to input a single and absolute URL .
    • email: a control designed to edit one or more e-mail addresses.
    • password: a text box for editing passwords, where the characters are represented by dots.
    • date: a control to input a specific date.
    • month: a control to input a specific month.
    • week: a control to input a specific week.
    • time: a control to input a specific time.
    • datetime-local: a control to input a specific local date and time.
    • number: a control to input a number.
    • range: a control to input one or two numbers inside a range.
    • color: a control to input a color.
    • checkbox: a control to input a boolean value (true/false).
    • radio: a control used to choose one single option among many.
    • file: a control used to upload files to the server.
    • submit: a button used to submit the form.
    • image: same as submit but with the ability to be shown as an image instead of using the default button appearance.
    • reset: a button used to reset the form’s controls to their default values.
    • button: a button with no default action associated.

    When this attribute isn’t present, the element behaves as it would have the value «text».


    A value for the control. This value will be sent by the browser to the processing agent, paired with the content of the name attribute. Both attributes together will conform a name-value pair that will be used to process the form data.

    Global attributes

    For information about global attributes refer to this list of global attributes in HTML 5.

    Методы скрытия элементов веб-страниц

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

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

    Статья, перевод которой мы сегодня публикуем, посвящена разбору методов скрытия элементов веб-страниц с использованием HTML и CSS. Здесь будут рассмотрены такие вопросы, как доступность контента, анимация, сценарии использования технологий скрытия данных на страницах.

    HTML5-атрибут hidden

    Hidden — это логический HTML-атрибут, скрывающий элементы, которым он назначен. Когда браузер загружает страницу, он не выведет элементы с атрибутом hidden , за исключением тех случаев, когда видимость элементов будет включена вручную средствами CSS. Действие этого атрибута похоже на применение к элементу CSS-правила display: none .

    Рассмотрим следующий пример:

    Тут имеется разметка, задающая заголовок, изображение и описание. Изображение должно выводиться только в том случае, если ширина области просмотра превышает 400px . К элементу я добавил атрибут hidden .

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

    Вот CSS-код, который здесь использован:

    → Вот пример этой страницы на CodePen

    Тут у вас может появиться вопрос о том, почему бы просто не использовать display: none . Хороший вопрос. Когда селектор изображения вызывается через его атрибут hidden , мы можем быть уверены в том, что даже если CSS-код по какой-то причине не загрузился, элемент будет скрыт.

    ▍Атрибут hidden и доступность контента

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

    CSS-свойство display

    Каждый элемент веб-страницы обладает неким значением свойства display , назначаемым ему по умолчанию. Это может быть inline-block , block , table и так далее. Для того чтобы скрыть элемент с помощью свойства display , мы можем воспользоваться конструкцией display: none . Если элемент скрыт с помощью этой конструкции, то вместе с ним будут скрыты и все его потомки.

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

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

    Синюю книгу убрали из стопки

    «Поток документа» сравнивается здесь со стопкой книг. Если к синей книге будет применено свойство display: none , это будет означать, что её просто убрали из стопки. При этом пространство, которое раньше занимала эта книга, будет занято другими книгами. То же самое происходит и при скрытии HTML-элементов. Место, которое занимал бы скрытый элемент, занимают другие элементы, это влияет на расположение элементов в документе. В нашем примере это повлияло на положение книг в стопке.

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

    Если убрать книгу из стопки — положение других книг в ней изменится

    ▍Производится ли загрузка ресурсов, скрытых средствами CSS?

    Если коротко ответить на этот вопрос — то да, загрузка таких ресурсов производится. Например, если элемент скрыт средствами CSS, и мы показываем этот элемент в некий момент работы со страницей, к этому моменту изображение уже будет загружено. Наличие на странице изображения, даже скрытого средствами CSS, приведёт к выполнению HTTP-запроса на его загрузку.

    Здесь можно найти демонстрацию работы с изображением, скрытым средствами CSS. Если исследовать этот пример, открыв инструменты разработчика Chrome и посмотрев на вкладку Network , там можно увидеть соответствующий запрос.

    Исследование страницы, содержащей скрытое изображение

    Читать еще:  Прерывания в ассемблере
    Ссылка на основную публикацию