| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/es/docs/Web/HTML/Reference/Elements/input/hidden | [Back] [Original] |
Get to know MDN better
Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since julio de 2015.
<input> 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.
Nota: Hay un ejemplo en vivo debajo de las siguientes lneas de cdigo si esta funcionando correctamente no debera ver algo.
<input id="prodId" name="prodId" type="hidden" value="xm234jq" />
| Value | String representando el valor de un campo oculto que se espetra pasar al servidor. |
|---|---|
| Events | Ninguno. |
| Supported Common Attributes | autocomplete |
| IDL attributes | value |
| Methods | Ninguno. |
El atributo value del elemento <input> tiene un String que contiene la informacin oculta que se desea incluir en el formulario cuando sea remitido al servidor. Especficamente no puede ser editado por el usuario o mostrado a ste por medio la interfaz de usuario, aunque puede ser editado por medio de las herramientas para desarrolladores del navegador.
Advertencia:
Mientras que el valor no es desplegado al usuario en el contenido de la pgina, si es visible y puede ser modificadousando las herramientas para desarrolladores de cualquier navegador o la funcionalidad "Ver cdigo fuente" (View Source). No confe en hidden inputs como una forma de seguridad.
Como se menciono anteriormente, las hidden inputs pueden ser utilizadas donde sea que se quiera incluir informacin del formulario que el usuario no pueda ver o modificar cuando sea enviado al servidor. Se mostrarn algunos ejemplos que ilustran su uso.
Uno de los usos ms comunes para los hidden inputs es mantener un seguimiento de que registros de la base de datos necesitan actualizarse cuando un formulario de actualizacin es remitido. Un flujo de trabajo tipico se ve como:
La idea es que durante el paso 2, el ID del registro que se actualiza se mantenga en un hidden input. Cuando se enva el formulario en el paso 3, el ID se enva automticamente al servidor con el contenido del registro. El ID permite que el componente de servidor del sitio sepa exactamente qu registro necesita ser actualizado con los datos enviados.
Puede ver un ejemplo completo de como podra ser en la seccin Examples de abajo.
Hidden inputs tambin son usados para almacenar y enviar token de seguirdad o secretos (secrets), con el propsito de mejorar la seguridad del sitio web. La idea bsica es que si un usuario esta rellenando un formulario con informacin sensible, como un formulario en un sitio web bancario para transferir dinero a otra cuenta, el secreto que proporciona demostrara que son quienes dicen ser y que estan usando el formulario correcto para enviar la solicitud de transferencia.
Esto evitara que un usuario malicioso creara un formulario falso, fingiendo ser un banco y enviando el formulario por correo electrnico a usuarios desprevenidos para engaarlos y que transfieran dinero al lugar equivocado. Este tipo de ataque es llamado como Cross Site Request Forgery (CSRF); prcticamente cualquier marco de trabajo que goce de buena reputacin utiliza secretos ocultos para evitar tales ataques.
Nota: Como se menciono anteriormenre, colocando el secreto en un hidden input no lo hace inherentemente seguro. La composicin y codificacin de la llave hara eso. El valor del hidden input es que mantiene el secreto asociado con la informacin y automticamente lo incluye cuando el formulario es enviado al servidor. Se necesita usar secretos bien diseados para realmente mantener seguro el sitio web.
Hidden inputs no participan en la validacin de restricciones; no son un valor real que deba ser restringido.
En el cdigo de abajo se muestra como se puede implementar una versin simple de un formulario de actualizacin descrito anteriomente (ver Tracking edited content), utilizando un hidden input para recordar el ID del registro ha ser editado.
El formulario HTML puede verse un como como este:
<form>
<div>
<label for="title">Ttulo del artculo:</label>
<input
type="text"
id="titulo"
name="titulo"
value="Mi excelente artculo del blog" />
</div>
<div>
<label for="content">Contenido del artculo:</label>
<textarea id="contenido" name="contenido" cols="60" rows="5">
Este es el contenido de mi excelente actculo del blog. Espero lo disfrutes!
</textarea>
</div>
<div>
<button type="submit">Actualizar artculo</button>
</div>
<input type="hidden" id="acticuloId" name="articuloId" value="34657" />
</form>
Aadiendo tambin unas lneas simples de 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;
}
El servidor establecer el valor del hidden input con el ID "articuloID" al ID del artculo en la base de datos antes de enviar el formulario al navegador del usuario, y se usar esa informacin cuando el formulario sea devuelto para saber que registro de la base de datos actualizar con la informacin modificada. No se necesitan scripts en el contenido para manejar esto.
La salida se vera como:
Nota: Puede encontrar el ejemplo en GitHub (vea el cdigo fuente, y tambin velo corriendo en vivo).
Cuando se envan, los datos del formulario enviados al servidor tendrn un aspecto parecido a este:
title=My+excellent+blog+post&content=This+is+the+content+of+my+excellent+blog+post.+I+hope+you+enjoy+it!&postId=34657
A pesar de que los hiden input no se pueden ver en absoluto, sus datos se siguen enviando.
| Specification |
|---|
| HTML # hidden-state-(type=hidden) |
<input> y la interfaz HTMLInputElement en la que se basaThis page was last modified on 29 may 2026 by MDN contributors.
<a><abbr>acronym<address><area><article>asideAudiob<base><bdi>bdobigblockquote<body><br>buttoncanvascaption<center>citecodecolcolgroup<data>datalistdddel<details>dfn<dialog>dir<div>dldtemembed<fencedframe>fieldset<figcaption>figurefontfooterformframeframeset<geolocation>Elementos ttulosheadheaderhgroup<hr><html>i<iframe><img>inputinskbd<label>legendlilink<main>map<mark><marquee><menu>meta<meter><nav><nobr><noembed>noframesnoscript<object>ol<optgroup><option><output>p<param><picture><plaintext><pre><progress><q><rb><rp><rt><rtc><ruby>ssamp<script><search><section><select><selectedcontent><slot>small<source>spanstrikestrongstylesub<summary>suptabla<tbody><td><template><textarea><tfoot><th><thead>time<title><tr><track>ttuulvarvideo<wbr><xmp><input type><input type="button"><input type="checkbox"><input type="color"><input type="date"><input type="datetime"><input type="email"><input type="file"><input type="hidden"><input type="image"><input type="month"><input type="number"><input type="password"><input type="radio"><input type="range"><input type="reset"><input type="search"><input type="submit"><input type="tel"><input type="text"><input type="time"><input type="url"><input type="week"><script type>Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |