Valor da caixa de texto “Protect” da entrada (formulário HTML)
Pergunta
Eu queria saber se é possível atribuir um valor a uma caixa de texto HTML e protegê -la.
O que quero dizer é tornar o conteúdo não modificável, para que, quando o formulário seja enviado, sou "com certeza", era esse valor que foi enviado.
BTW, percebo que a maneira mais fácil seria não "ouvir" a entrada dessa entrada e apenas atribuí -la, mas seria útil para poder fazer o que está declarado acima.
Espero que a pergunta seja clara o suficiente, peça qualquer esclarecimento necessário.
Desde já, obrigado!
EDIT: Eu definitivamente não estava claro o suficiente, mas tentei expressar que deveria manter o valor após o envio (não modificável no lado do cliente)
Solução
Não, não é. Você nunca deve confiar na entrada do usuário, que inclui envios de formulários.
As outras respostas dizem como marcar o campo como somente leitura. Isso é útil se você quiser exibir um valor específico, enquanto mostra que não é pretendido para editar.
No entanto, ele ainda pode ser modificado com o Firebug, o DOM Inspector etc. ou, eles podem apenas enviar uma solicitação HTTP sem usar o navegador.
Eu recomendaria armazenar o valor em uma sessão.
Outras dicas
Colocou o readonly
propriedade do elemento de entrada:
<input type="text" readonly="readonly" />
Isso impedirá qualquer modificação (Exceto se o usuário editar com um inspetor DOM). Sempre valide a entrada no servidor. Se você não deseja que nenhuma alteração seja feita, não permita que o usuário a edite.
Apenas faça isso
<input type="text" value="VALUE" readonly />
Então será apenas lido :)
<input type="text" readonly="readonly"/>
. Mas: Nunca tenha certeza e valide dados no lado do servidor. É muito fácil solicitar obter/postar com dados inválidos.
As entradas de formulário têm atributos 'desativados' e 'readonly' que você pode definir para torná-los inéditos.
http://htmlhelp.com/reference/html40/forms/input.html
Embora você nunca possa ter 100% de certeza do que está sendo enviado do lado do cliente. Todo o DOM é editável pelo cliente.