Как сделать поле ввода только для чтения с помощью JavaScript?
Я знаю, что вы можете добавить readonly="readonly"
в поле ввода, поэтому его нельзя редактировать. Но мне нужно использовать javascript для таргетинга идентификатора ввода и сделать его только для чтения, поскольку у меня нет доступа к коду формы (его генерируется через маркетинговое программное обеспечение)
Я не хочу отключать ввод, поскольку данные должны быть собраны при отправке.
вот страница, которую я добавил в приведенном ниже предложении, пока не повезло:
убедитесь, что вы используете <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('TextBoxID').readOnly = true; //to enable readonly
document.getElementById('TextBoxID').readOnly = false; //to disable readonly
здесь у вас есть пример, как установить атрибут readonly:
<form action="demo_form.asp">
Country: <input type="text" name="country" value="Norway" readonly><br>
<input type="submit" value="Submit">
</form>