Je suis curieux de savoir quel est le but initial du <input type="hidden">
tag.
De nos jours, il est souvent utilisé avec JavaScript pour stocker des variables qui sont envoyées au serveur et des choses comme ça.
- HTML 2.0 est sorti en novembre 1995 , contenant déjà la spécification pour input type = "hidden"
- JavaScript est sorti en mars 1996
Par conséquent, le <input type="hidden">
existait avant JavaScript, alors quel était son objectif initial? Je ne peux qu'imaginer d'envoyer une valeur du serveur au client qui est (inchangée) renvoyée pour maintenir une sorte d'état. Ou est-ce que je me trompe dans son histoire et que j'ai <input type="hidden">
toujours été censé être utilisé avec JavaScript?
Si possible, veuillez également donner des références dans vos réponses.
javascript
html
history
Uooo
la source
la source
Réponses:
Précisément. En fait, il est encore utilisé à cette fin aujourd'hui parce que HTTP tel que nous le connaissons aujourd'hui est toujours, au moins fondamentalement, un protocole sans état.
Ce cas d'utilisation a en fait été décrit pour la première fois en HTML 3.2 (je suis surpris que HTML 2.0 n'ait pas inclus une telle description):
Bien qu'il soit intéressant de mentionner que HTML 3.2 est devenu une recommandation du W3C seulement après la publication initiale de JavaScript, il est prudent de supposer que les champs cachés ont pratiquement toujours servi le même objectif.
la source
Je vais fournir un simple exemple du monde réel côté serveur ici, disons si les enregistrements sont en boucle et que chaque enregistrement a un formulaire avec un bouton de suppression et que vous devez supprimer un enregistrement spécifique, alors voici le
hidden
champ en action, sinon vous avez gagné ' t obtenir la référence de l'enregistrement à supprimer dans ce cas, il seraid
Par exemple
la source
En bref, le but initial était de créer un champ qui sera soumis avec la soumission du formulaire. Parfois, il était nécessaire de stocker certaines informations dans un champ caché (par exemple, l'identifiant de l'utilisateur) et de les soumettre avec la soumission du formulaire.
À partir de la spécification HTML du 22 septembre 1995
la source
original purpose was to make a field which will be submitted *after* form's submit
est ambiguë. Il peut être interprété comme: « une fois le formulaire fait l' affichage de ses données, puis le champ caché sera soumis (à un endroit mystérieux). D'où mon commentaire ci-dessus.Les valeurs des éléments de formulaire, y compris type = 'hidden', sont soumises au serveur lorsque le formulaire est publié. input type = les valeurs "hidden" ne sont pas visibles dans la page. La conservation des identifiants d'utilisateurs dans des champs masqués, par exemple, est l'une des nombreuses utilisations.
SO utilise un champ masqué pour le clic de vote positif.
En utilisant cette valeur, le script côté serveur peut stocker le vote positif.
la source
les champs essentiellement cachés seront plus utiles et plus avantageux à utiliser avec un formulaire en plusieurs étapes. nous pouvons utiliser des champs cachés pour passer les informations d'une étape à l'étape suivante en utilisant hidden et le garder en avant jusqu'à l'étape de fin.
La falsification de requêtes intersites est une vulnérabilité de site Web très courante. Exiger un jeton secret et spécifique à l'utilisateur dans toutes les soumissions de formulaire empêchera les attaques CSRF, car les sites d'attaque ne peuvent pas deviner quel est le jeton approprié et toutes les soumissions de formulaire qu'ils effectuent au nom de l'utilisateur échoueront toujours.
Si vous avez besoin de stocker dans un formulaire multi-pages à quelle étape l'utilisateur se trouve actuellement, utilisez des champs de saisie masqués. L'utilisateur n'a pas besoin de voir ces informations, alors cachez-les dans un champ de saisie masqué.
Règle générale: utilisez le champ pour stocker tout ce que l'utilisateur n'a pas besoin de voir, mais que vous souhaitez envoyer au serveur lors de la soumission du formulaire.
la source