147 votes

Comment désactiver un type d'entrée =texte ?

Je veux désactiver l'écriture dans un champ de saisie de type text en utilisant JavaScript, si possible. Le champ de saisie est rempli à partir d'une base de données ; c'est pourquoi je ne veux pas que l'utilisateur modifie sa valeur.

241voto

hudolejev Points 2053
document.getElementById('foo').disabled = true;

ou

document.getElementById('foo').readOnly = true;

Notez que readOnly doit être dans camelCase pour fonctionner correctement dans Firefox (magie).

Démo : https://jsfiddle.net/L96svw3c/ -- explique quelque peu la différence entre disabled et readOnly.

10voto

Roatin Marth Points 9532

Obtenez une référence à votre boîte de saisie comme vous le souhaitez (par exemple document.getElementById('mytextbox')) et définissez sa propriété readonly %-% sur true :

myInputBox.readonly = true;

Vous pouvez également simplement ajouter cette propriété en ligne (pas besoin de JavaScript) :

<input type="text" value="from db" readonly="readonly" />

8voto

Chani poz Points 338

Vous pouvez aussi par jquery :

$('#foo')[0].disabled = true;

Exemple de travail :

$('#foo')[0].disabled = true;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="foo" placeholder="placeholder" value="value" />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X