Je souhaite désactiver l'écriture dans un champ de saisie de type à l' text
aide de JavaScript, si possible. Le champ d'entrée est rempli à partir d'une base de données; c'est pourquoi je ne veux pas que l'utilisateur modifie sa valeur.
javascript
html
Kawtousse
la source
la source
ou
Notez que
readOnly
devrait être dans camelCase pour fonctionner correctement dans Firefox (magie).Démo: https://jsfiddle.net/L96svw3c/ - explique quelque peu la différence entre
disabled
etreadOnly
.la source
readonly
(en minuscules) ne fonctionne toujours pas dans Firefox 52 sur Ubuntu - devrait être le cas du camel.input
élément avecid="gate"
et j'essaye votre code, qui ne semble pas fonctionner pour moi ...Si les données sont remplies à partir de la base de données, vous pouvez envisager de ne pas utiliser de
<input>
balise pour les afficher. Néanmoins, vous pouvez le désactiver directement dans le tag:Si vous devez le désactiver ultérieurement avec Javascript, vous pouvez définir l'attribut "désactivé":
La raison pour laquelle je suggère de ne pas afficher la valeur en tant que
<input>
est que, d'après mon expérience, cela provoque des problèmes de mise en page. Si le texte est long,<input>
l'utilisateur devra essayer de faire défiler le texte, ce qui n'est pas quelque chose que les gens normaux devineraient faire. Si vous le déposez simplement dans un<span>
ou quelque chose, vous avez plus de flexibilité de style.la source
Vous pouvez également par jquery:
Exemple de travail:
la source
Obtenez une référence à votre zone de saisie comme vous le souhaitez (par exemple
document.getElementById('mytextbox')
) et définissez sareadonly
propriété surtrue
:Vous pouvez également simplement ajouter cette propriété en ligne (aucun JavaScript n'est nécessaire):
la source