100 votos

Propósito Original de <input type="hidden">?

Estoy curioso sobre el propósito original de la <input type="hidden"> etiqueta.

Hoy en día se utiliza a menudo junto con JavaScript para almacenar las variables que se envían al servidor y cosas por el estilo.

Por lo tanto, el <input type="hidden"> existía antes de JavaScript, así que, ¿cuál era su propósito original? Sólo puedo imaginar de enviar un valor desde el servidor al cliente (sin modificar) enviado de vuelta a mantener una especie de un estado. O debo conseguir algo mal en la historia de la misma y <input type="hidden"> siempre se supuso para ser utilizado junto con JavaScript?

Si es posible, proporcione referencias en sus respuestas.

105voto

BoltClock Puntos 249668

Sólo puedo imaginar de enviar un valor desde el servidor al cliente (sin modificar) enviado de vuelta a mantener una especie de un estado.

Precisamente. De hecho, todavía se utiliza para este propósito el día de hoy, porque HTTP tal y como la conocemos hoy en día sigue siendo, al menos fundamentalmente, un protocolo sin estado.

Este caso de uso se describe en el HTML 3.2 (me sorprende HTML 2.0 no incluir esta descripción):

type=hidden
Estos campos no deben ser prestados y proporcionar un medio para que los servidores para almacenar información de estado con un formulario. Se pasará de nuevo al servidor cuando se envía el formulario, utilizando el par nombre/valor definido por los atributos correspondientes. Este es un trabajo en torno a la situación de apatridia de HTTP. Otro enfoque es el uso de HTTP "Cookies".

<input type=hidden name=customerid value="c2415-345-8563">

Aunque vale la pena mencionar que el HTML 3.2 se convirtió en una Recomendación del W3C sólo después de JavaScript lanzamiento inicial, es seguro asumir que los campos ocultos tienen casi siempre sirve el mismo propósito.

10voto

Mr. Alien Puntos 60232

Voy a dar un simple Servidor de Lado el Ejemplo del Mundo Real, dicen que si los registros están en bucle y cada registro tiene un formulario con un botón de borrar y que usted necesita para eliminar un registro específico, así que aquí viene la hidden campo de acción, más no obtener la referencia del registro que se desea borrar en este caso, va a ser id

Por ejemplo

<?php
    if(isset($_POST['delete_action'])) {
        mysqli_query($connection, "DELETE FROM table_name 
                                   WHERE record_id = ".$_POST['row_to_be_deleted']);
                                   //Here is where hidden field value is used
    }

    while(condition) {
?>
    <span><?php echo 'Looped Record Name'; ?>
    <form method="post">
        <input type="hidden" name="row_to_be_deleted" value="<?php echo $record_id; ?>" />
        <input type="submit" name="delete_action" />
    </form>
<?php
    }
?>

8voto

Chuck Norris Puntos 8240

En resumen, el propósito original era hacer un campo que será presentado con el envío del formulario. A veces, no se necesita para almacenar cierta información en campo oculto(por ejemplo, id de usuario) y presentarlo con el envío del formulario.

De HTML 22 de septiembre de 1995 especificación

Un elemento de ENTRADA con `TYPE=HIDDEN' representa un campo oculto.El usuario no interactuar con este campo; en cambio, el VALOR del atributo especifica el valor del campo. El NOMBRE y el VALOR de los atributos de necesario.

5voto

Ganesh Bora Puntos 646

básicamente campos ocultos será más útil y ventajas para su uso con múltiples paso de forma. podemos utilizar los campos ocultos para pasar un paso de la información al siguiente paso mediante ocultos y mantener el reenvío de hasta el paso final.

  1. CSRF token.

Cross-site request forgery (http://en.wikipedia.org/wiki/Cro...) es muy común en la página web de la vulnerabilidad. Que requieren un secreto específicos del usuario del token en el formulario todos los envíos de prevenir los ataques CSRF desde el ataque de los sitios no se puede adivinar lo que el buen token y cualquier forma de presentaciones que realizará en el nombre del usuario se producirá un error de siempre.

  1. Guardar el estado en formularios de varias páginas.

Si usted necesita para almacenar lo que paso en un formulario de varias páginas que el usuario está actualmente, el uso de campos de entrada ocultos. El usuario no necesita ver esta información, por lo escondes en un oculto campo de entrada.

Regla General: Utilice el campo para almacenar todo lo que el usuario no necesita ver, pero que desea enviar al servidor en el formulario de presentación.

5voto

c.P.u1 Puntos 5174

Los valores de los elementos de los formularios incluidos type='hidden' se envía al servidor cuando el formulario es enviado. input type="hidden" los valores no son visibles en la página. El mantenimiento de los Identificadores de Usuario en los campos ocultos, por ejemplo, es uno de los muchos usos.

ASÍ se utiliza un campo oculto para el upvote haga clic en.

<input value="16293741" name="postId" type="hidden">

El uso de este valor, el script del lado del servidor puede almacenar la upvote.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X