Tengo curiosidad sobre el propósito original de la <input type="hidden">
etiqueta.
Hoy en día, se usa a menudo junto con JavaScript para almacenar variables que se envían al servidor y cosas así.
- HTML 2.0 se lanzó en noviembre de 1995 y ya contiene la especificación para el tipo de entrada = "oculto"
- JavaScript fue lanzado en marzo de 1996
Por lo tanto, <input type="hidden">
existía antes de JavaScript, entonces, ¿cuál era su propósito original? Solo puedo imaginarme enviar un valor desde el servidor al cliente que se envía (sin cambios) para mantener una especie de estado. ¿O me sale algo mal en el historial y <input type="hidden">
siempre se suponía que debía usarse junto con JavaScript?
Si es posible, también proporcione referencias en sus respuestas.
javascript
html
history
Uooo
fuente
fuente
Respuestas:
Precisamente. De hecho, todavía se usa para este propósito hoy porque HTTP como lo conocemos hoy sigue siendo, al menos fundamentalmente, un protocolo sin estado.
En realidad, este caso de uso se describió por primera vez en HTML 3.2 (me sorprende que HTML 2.0 no incluye tal descripción):
Si bien vale la pena mencionar que HTML 3.2 se convirtió en una recomendación del W3C solo después del lanzamiento inicial de JavaScript, es seguro asumir que los campos ocultos casi siempre han tenido el mismo propósito.
fuente
Proporcionaré un ejemplo simple del mundo real del lado del servidor aquí, digamos si los registros están en bucle y cada registro tiene un formulario con un botón de eliminación y necesita eliminar un registro específico, así que aquí viene el
hidden
campo en acción, de lo contrario, ganó ' Para obtener la referencia del registro a borrar en este caso, seráid
Por ejemplo
fuente
En resumen, el propósito original era crear un campo que se enviará con el envío del formulario. A veces, era necesario almacenar cierta información en un campo oculto (por ejemplo, la identificación del usuario) y enviarla con el envío del formulario.
De la especificación HTML del 22 de septiembre de 1995
fuente
original purpose was to make a field which will be submitted *after* form's submit
es ambigua. Se puede interpretar como: 'después de que el formulario se realiza la publicación de sus datos, a continuación, se presentará el campo oculto (a un lugar misterioso)'. De ahí mi comentario anterior.Los valores de los elementos del formulario, incluido type = 'hidden', se envían al servidor cuando se publica el formulario. tipo de entrada = los valores "ocultos" no son visibles en la página. Mantener los ID de usuario en campos ocultos, por ejemplo, es uno de los muchos usos.
SO utiliza un campo oculto para el clic de voto a favor.
Con este valor, la secuencia de comandos del lado del servidor puede almacenar el voto a favor.
fuente
Básicamente, los campos ocultos serán más útiles y ventajas de usar con el formulario de varios pasos. podemos usar campos ocultos para pasar la información de un paso al siguiente paso usando hidden y mantenerla reenviada hasta el paso final.
La falsificación de solicitudes entre sitios es una vulnerabilidad de sitios web muy común. Exigir un token secreto y específico del usuario en todos los envíos de formularios evitará los ataques CSRF, ya que los sitios de ataque no pueden adivinar cuál es el token adecuado y cualquier envío de formularios que realicen en nombre del usuario siempre fallará.
Si necesita almacenar el paso en un formulario de varias páginas en el que se encuentra actualmente el usuario, utilice campos de entrada ocultos. El usuario no necesita ver esta información, así que ocúltela en un campo de entrada oculto.
Regla general: utilice el campo para almacenar cualquier cosa que el usuario no necesite ver, pero que desee enviar al servidor al enviar el formulario.
fuente