Como faço para que os dados do formulário não desapareçam depois de atingir a atualização?
-
19-09-2019 - |
Pergunta
Fui testar minha página em outro navegador. No Google Chrome, posso preencher um formulário, acertar e ainda ter os dados lá. Agora eu preciso atualizar a página para que determinados dados estejam corretos (como ID da sessão se o cookie expirar ou o usuário antes de enviar). Eu refresco e perco todos os dados. Existe alguma opção que eu possa definir para que todos os dados sejam mantidos?
Solução
Qual estrutura você está usando? Por exemplo, o ASP.NET WebForms lidaria com isso via ViewState (YUCC), o ASP.NET MVC exigiria que você fizesse isso manualmente etc.
Você essencialmente precisa persistir seus dados em algum lugar enquanto a página recarrega e, em seguida, reopapo os controles.
Outras dicas
Você teria que enviar os valores para o servidor enquanto eles são digitados e, em seguida, repovoar os campos de formulário na atualização.
Sim, a única maneira segura de fazer isso é usar um script do servidor para armazenar o formulário temporariamente. Como os navegadores lidam com a frente/para a frente, sua página não será compatível com o X-Browser se você não usar o servidor. Se o usuário acertar o botão Voltar, você já está perdido, pois nenhuma postagem estiver concluída, a menos que você publique o formulário com alguma mágica JavaScript antes que a nova página seja atualizada.