Comment faire un champ d'entrée en lecture seule avec JavaScript?

je sais que vous pouvez ajouter readonly="readonly" à un champ d'entrée pour qu'il ne soit pas modifiable. Mais j'ai besoin d'utiliser javascript pour cibler l'id de l'entrée et de le faire lire que je n'ai pas accès au code de formulaire (son généré par le logiciel de marketing)

Je ne veux pas désactiver l'entrée car les données doivent être collectées sur soumettre.

Voici la page que j'ai ajoutée dans la suggestion ci-dessous sans succès jusqu'à présent:

http://bit.ly/1aI1Zxn

assurez-vous d'utiliser <body onload="onLoadBody();"> pour ceux qui utiliseront ceci dans le futur.

28
demandé sur nbro 2013-07-24 08:59:29

6 réponses

vous pouvez obtenir l'élément d'entrée et ensuite définir sa propriété readOnly à true comme suit:

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

spécifiquement, c'est ce que vous voulez:

<script type="text/javascript">
  function onLoadBody() {
    document.getElementById('control_EMAIL').readOnly = true;
  } 
</script>

Appel de cette onLoadBody() fonction sur le corps de la balise comme:

<body onload="onLoadBody">

voir la Démo: jsfiddle .

44
répondu Vijay 2015-12-06 04:02:55

les réponses ci-dessus n'ont pas fonctionné pour moi. La ci-dessous ne: document.getElementById("input_field_id").setAttribute("readonly", true);

et supprimer l'attribut readonly: document.getElementById("input_field_id").removeAttribute("readonly");

et pour exécuter lorsque la page est chargée, il est intéressant de se référer à ici .

15
répondu Charlie Haley 2017-05-23 12:02:11
document.getElementById("").readOnly = true
3
répondu gezzuzz 2013-07-24 05:04:09
document.getElementById('TextBoxID').readOnly = true;    //to enable readonly


document.getElementById('TextBoxID').readOnly = false;   //to  disable readonly
3
répondu Mumthezir VP 2013-07-24 05:12:36

Essayez Ceci:

document.getElementById(<element_ID>).readOnly=true;
1
répondu Sandiip Patil 2013-07-24 05:05:59

vous avez ici un exemple pour définir l'attribut readonly:

<form action="demo_form.asp">
  Country: <input type="text" name="country" value="Norway" readonly><br>
  <input type="submit" value="Submit">
</form>
0
répondu bobofrut 2015-08-10 14:12:18