Как сделать поле ввода только для чтения с помощью JavaScript?

Я знаю, что вы можете добавить readonly="readonly" в поле ввода, поэтому его нельзя редактировать. Но мне нужно использовать javascript для таргетинга идентификатора ввода и сделать его только для чтения, поскольку у меня нет доступа к коду формы (его генерируется через маркетинговое программное обеспечение)

Я не хочу отключать ввод, поскольку данные должны быть собраны при отправке.

вот страница, которую я добавил в приведенном ниже предложении, пока не повезло:

http://bit.ly/1aI1Zxn

убедитесь, что вы используете <body onload="onLoadBody();"> для всех, кто использует это в будущем.

6 ответов


вы можете получить входной элемент, а затем установить его readOnly свойство true следующим образом:

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

в частности, это то, что вы хотите:

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

называем это onLoadBody() функция на бирке тела как:

<body onload="onLoadBody">

Посмотреть Демо: jsfiddle.


вышеуказанные ответы не работает для меня. Ниже делает: document.getElementById("input_field_id").setAttribute("readonly", true);

и удалить атрибут readonly: document.getElementById("input_field_id").removeAttribute("readonly");

и для запуска при загрузке страницы стоит обратиться к здесь.


document.getElementById("").readOnly = true

document.getElementById('TextBoxID').readOnly = true;    //to enable readonly


document.getElementById('TextBoxID').readOnly = false;   //to  disable readonly

Попробуйте Это :

document.getElementById(<element_ID>).readOnly=true;

здесь у вас есть пример, как установить атрибут readonly:

<form action="demo_form.asp">
  Country: <input type="text" name="country" value="Norway" readonly><br>
  <input type="submit" value="Submit">
</form>