Desejo desativar a gravação em um campo de entrada do tipo text
usando JavaScript, se possível. O campo de entrada é preenchido a partir de um banco de dados; é por isso que não quero que o usuário modifique seu valor.
javascript
html
kawtousse
fonte
fonte
ou
Observe que
readOnly
deve estar no camelCase para funcionar corretamente no Firefox (mágico).Demo: https://jsfiddle.net/L96svw3c/ - explica um pouco a diferença entre
disabled
ereadOnly
.fonte
readonly
(em minúsculas) ainda não funciona no Firefox 52 no Ubuntu - deve ser um caso de camelo.input
elemento comid="gate"
e eu tento o seu código, o que não parece estar a trabalhar para mim ...Se os dados forem preenchidos no banco de dados, você pode considerar não usar uma
<input>
tag para exibi-los. No entanto, você pode desativá-lo diretamente na tag:Se você precisar desativá-lo com Javascript posteriormente, poderá definir o atributo "desativado":
A razão pela qual sugiro não mostrar o valor como um
<input>
é que, na minha experiência, ele causa problemas de layout. Se o texto for longo, em um<input>
usuário o usuário precisará tentar rolar o texto, o que não é algo que as pessoas normais acham que devem fazer. Se você simplesmente soltá-lo em<span>
algo ou algo, você tem mais flexibilidade de estilo.fonte
Você também pode, por jquery:
Exemplo de trabalho:
fonte
Obtenha uma referência à sua caixa de entrada da maneira que desejar (por exemplo
document.getElementById('mytextbox')
) e configure suareadonly
propriedade paratrue
:Como alternativa, você pode simplesmente adicionar essa propriedade em linha (não é necessário JavaScript):
fonte