Html input hidden value

Html input hidden value

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!

Value A DOMString representing the value of the hidden data you want to pass back to the server.
Events None.
Supported Common Attributes autocomplete
IDL attributes value
Methods None.

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

Attribute Description
name Like 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.

Читайте также:  Как открыть настройки opera

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.


Specification Status Comment
HTML Living Standard
The definition of ‘ ‘ in that specification.
Living Standard Initial definition
HTML 5.2
The definition of ‘ ‘ in that specification.
Recommendation Initial definition

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
type="hidden" Chrome Full support 1 Edge Full support 12 Firefox Full support 1 IE Full support Yes Opera Full support 2 Safari Full support 1 WebView Android Full support Yes Chrome Android Full support Yes Firefox Android Full support 4 Opera Android Full support Yes Safari iOS Full support Yes Samsung 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.">
    7. 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.">
      3. 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.">
        6. 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. ,
          9. 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 hidden разработчики веб-форм могут хранить и отправлять информацию, скрытую от пользователей.

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

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

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

            Пример использования атрибута hidden в теге Input

            Синтаксис использования hidden HTML input должен соответствовать строке, выделенной в коде, приведенном ниже в качестве примера:

            Как видно из примера, мы сохраняем в скрытом поле значение страны “ US ”, поэтому, когда пользователь отправит форму, мы будем знать, что он из США. Разумеется, эти данные можно поменять на другие, изменив HTML-код .

            Можно использовать hide HTML для хранения даты и времени ( в примере это сделано с помощью MySQL ):

            В PHP можно воспользоваться следующим методом:

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

            Атрибут 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 позволяет выбирать целые папки:

            Ссылка на основную публикацию
            Fdd для чего нужен
            Для сопряжения дисковода с контpоллеpом применяется интерфейс SA-400. Соединяются они пpи помощи 34-пpоводного кабеля, в котоpом четные пpовода являются сигнальными,...
            Centos 7 удалить пакет
            Я новичок в Linux, поэтому это может быть глупым вопросом. Я искал как в stackoverflow, так и в google, но...
            Check cable connection pxe mof exiting
            Баги PXE-E61 всплывают из-за Preboot eXecution Environment (PXE), которая поддерживается определенным количеством материнских плат. PXE — это специальный режим загрузки,...
            Feedback miui что это
            В разделе с приложениями или даже на рабочем столе Xiaomi можно найти приложение под названием Feedback. Что это такое? Feedback...
            Adblock detector