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)

Foi útil?

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.

http://www.w3schools.com/tags/att_input_readonly.asp

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top