Estou curioso sobre o propósito original da <input type="hidden">
tag.
Hoje em dia, é frequentemente usado junto com o JavaScript para armazenar variáveis nele que são enviadas ao servidor e coisas assim.
- HTML 2.0 foi lançado em novembro de 1995 , já contendo a especificação para input type = "hidden"
- JavaScript foi lançado em março de 1996
Portanto, o <input type="hidden">
existia antes do JavaScript, então qual era seu propósito original? Eu só posso imaginar o envio de um valor do servidor para o cliente que é (inalterado) enviado de volta para manter uma espécie de estado. Ou eu entendi algo errado na história disso e <input type="hidden">
sempre deveria ser usado junto com o JavaScript?
Se possível, forneça também referências em suas respostas.
javascript
html
history
Uooo
fonte
fonte
Respostas:
Precisamente. Na verdade, ele ainda está sendo usado para essa finalidade hoje porque o HTTP como o conhecemos hoje ainda é, pelo menos fundamentalmente, um protocolo sem estado.
Na verdade, esse caso de uso foi descrito pela primeira vez no HTML 3.2 (estou surpreso que o HTML 2.0 não inclua essa descrição):
Embora valha a pena mencionar que o HTML 3.2 se tornou uma recomendação do W3C somente após o lançamento inicial do JavaScript, é seguro assumir que os campos ocultos sempre serviram para o mesmo propósito.
fonte
Vou fornecer um exemplo simples do mundo real do lado do servidor aqui, digamos se os registros são repetidos e cada registro tem um formulário com um botão de exclusão e você precisa excluir um registro específico, então aqui vem o
hidden
campo em ação, caso contrário, você ganhou ' para obter a referência do registro a ser excluído, neste caso, seráid
Por exemplo
fonte
Em suma, o objetivo original era fazer um campo que será submetido com o envio do formulário. Às vezes, havia necessidade de armazenar alguma informação em campo oculto (por exemplo, id do usuário) e submetê-la com o envio do formulário.
Da especificação HTML de 22 de setembro de 1995
fonte
original purpose was to make a field which will be submitted *after* form's submit
é ambígua. Ela pode ser interpretada como: 'depois que o formulário é feito a postar seus dados, em seguida, o campo escondido será submetido (a um lugar misterioso)'. Daí meu comentário acima.Os valores dos elementos do formulário incluindo type = 'hidden' são enviados ao servidor quando o formulário é postado. valores de entrada type = "ocultos" não são visíveis na página. Manter IDs de usuário em campos ocultos, por exemplo, é um dos muitos usos.
SO usa um campo oculto para o clique de voto positivo.
Usando esse valor, o script do lado do servidor pode armazenar o upvote.
fonte
basicamente campos ocultos serão mais úteis e vantagens para usar com o formulário de várias etapas. podemos usar campos ocultos para passar as informações de uma etapa para a próxima etapa usando ocultos e mantê-los encaminhando até a etapa final.
A falsificação de solicitação entre sites é uma vulnerabilidade muito comum em sites. Exigir um token secreto específico do usuário em todos os envios de formulário evitará ataques CSRF, pois os sites de ataque não conseguem adivinhar qual é o token adequado e qualquer envio de formulário que eles executem em nome do usuário sempre falhará.
Se você precisar armazenar em qual etapa de um formulário de várias páginas o usuário está, use os campos de entrada ocultos. O usuário não precisa ver essas informações, portanto, esconda-as em um campo de entrada oculto.
Regra geral: Use o campo para armazenar tudo o que o usuário não precisa ver, mas que deseja enviar ao servidor no envio do formulário.
fonte