- .hidden
- Кратко
- Как пишется
- Как понять
- Html hidden input value javascript
- Value
- Additional attributes
- name
- Using hidden inputs
- Tracking edited content
- Improving website security
- Validation
- Examples
- Technical summary
- Specifications
- Browser compatibility
- See also
- Found a content problem with this page?
- MDN
- Support
- Our communities
- Developers
- Input Hidden value Property
- Description
- Browser Support
- Syntax
- Property Values
- Technical Details
- More Examples
- Example
- Example
- Related Pages
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- Как получить значение?
.hidden
Свойство hidden у DOM-элементов позволяет узнать или изменить значение HTML-атрибута hidden .
Время чтения: меньше 5 мин
Обновлено 26 октября 2022
Кратко
Скопировать ссылку «Кратко» Скопировано
Свойство hidden позволяет узнать значение HTML-атрибута hidden или изменить его. Когда hidden равен true , элемент скрыт на странице и недоступен для скринридеров.
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Обращение к свойству hidden вернёт текущее значение HTML-атрибута hidden . Если атрибута нет на элементе, результат будет false :
Неправильная почтаinput type="text" placeholder="Введите почту"> div class="error" hidden>Неправильная почтаdiv>
const input = document.querySelector('input')const div = document.querySelector('div') console.log(input.hidden)// falseconsole.log(div.hidden)// true
const input = document.querySelector('input') const div = document.querySelector('div') console.log(input.hidden) // false console.log(div.hidden) // true
Присвоение значения в hidden изменит значение атрибута. В зависимости от значения элемент скроется или появится. Скроем поле ввода из примера выше:
input.hidden = true
input.hidden = true
В результате у поля ввода появится атрибут hidden и элемент скроется:
input type="email" placeholder="email@example.com" hidden>
Если присвоить false то атрибут будет удалён с элемента, а сам элемент снова станет видимым:
input.hidden = false
input.hidden = false
Как понять
Скопировать ссылку "Как понять" Скопировано
HTML-атрибут hidden существует давно и работает так же как display : none . Когда атрибут активен, элемент будет не только визуально скрыт, но и не будет занимать место на странице. То есть скрытый элемент будет вести себя так, будто его совсем нет.
Скрывать элементы через display можно в CSS или с помощью свойства style , но атрибутом hidden удобно управлять из JavaScript.
Приоритет CSS-свойства display выше, чем у атрибута hidden . Если на элементе одновременно установлен атрибут hidden и display : block , то элемент будет виден.
Html hidden input value javascript
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() ).
Value
The element's value attribute holds a string 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.
Warning: 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
name
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:
- 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.
- The content to be edited is taken from the database and loaded into an HTML form to allow the user to make changes.
- 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.
Note: 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.
Validation
Hidden inputs don't participate in constraint validation; they have no real value to be constrained.
Examples
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 bit like this:
form> div> label for="title">Post title:label> input type="text" id="title" name="title" value="My excellent blog post" /> div> div> label for="content">Post content:label> textarea id="content" name="content" cols="60" rows="5"> This is the content of my excellent blog post. I hope you enjoy it! textarea> div> div> button type="submit">Update postbutton> div> input type="hidden" id="postId" name="postId" value="34657" /> form>
Let's also add some simple CSS:
html font-family: sans-serif; > form width: 500px; > div display: flex; margin-bottom: 10px; > label flex: 2; line-height: 2; text-align: right; padding-right: 20px; > input, textarea flex: 7; font-family: sans-serif; font-size: 1.1rem; padding: 5px; > textarea height: 60px; >
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.
Technical summary
Specifications
Browser compatibility
BCD tables only load in the browser
See also
Found a content problem with this page?
This page was last modified on Mar 13, 2023 by MDN contributors.
Your blueprint for a better internet.
MDN
Support
Our communities
Developers
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
Input Hidden value Property
Get the value of the value attribute of a hidden input field:
Description
The value property sets or returns the value of the value attribute of the hidden input field.
The value attribute defines the default value of the hidden input field.
Browser Support
Syntax
Return the value property:
Property Values
Technical Details
More Examples
Example
Change the value of the hidden field:
Example
Submitting a form - How to change the value of the hidden field:
document.getElementById("myInput").value = "USA";
document.getElementById("demo").innerHTML = "The value of the value attribute was changed. Try to submit the form again.";
Related Pages
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Как получить значение?
И еще как лучше через аякс получать какие то значения? Например ответ аякса html и несколько значений, я их записываю в хидден а потом по идиотски вытаскиваю. Как лучше это делать?
var $input = $("input:hidden"); // В общем получаете элемент alert($input.val());
если на обычном javascript
var input = document.querySelector("input[type='hidden']"); alert(input.value);
А что касается аякса, что мешает сразу делать с данными то, что вы хотите, не записывая их в input?
shqn: спасибо) Ну не всегда так получается, например нужно получить кусок html и кол-во чего-то, html засунуть в какой то класс, а кол-во чего то заменить в другом месте, как быть в таких ситуациях?)
shqn: я наверно плохо объяснил, но мне кажется этот код не сработает. Смотрите, идет ajax запрос, в переменную data попадает ответ ajax - html. Теперь в переменной data html код, в html коде есть hidden элемент, как через переменную data в которой находится html код, получить значение hiddena?
therealvetalhidden: Обернуть все это в $. То есть будет примерно так:
function(data) var $content = $(data);
var $input = $content.find("input:hidden");
alert($input.val());
>
Евгений: спасибо) я как бы вроде понимаю что нужно json но пока его плоха знаю, тем более смотрю далеко не все его юзают, тот же контакт присылает ответ в таком виде 123. А я эти 1 2 3 записываю в хидден и на клиенте их достаю)
therealvetalhidden: JSON как раз юзают все и контакт в том числе! В вк могут некоторые единицы тянуться целым HTML куском, но никак не для передачи данных, а для передачи готового шаблона!) А JSON нечего знать! Это обычный массив, преобразованный в строку специального формата. В PHP json_encode сделает свое дело!