【问题标题】:Input field readonly to users but still editable via DOM输入字段对用户只读,但仍可通过 DOM 编辑
【发布时间】:2016-02-27 16:49:15
【问题描述】:

我有一个这样的输入字段:

<input type="text" id="23" value="Something" readonly />

我的输入元素是只读的,因为我不希望用户能够编辑字段值。

但是,我希望仍然能够通过 DOM 操作元素的值,例如:

getElementById('23').value="Something else";

这可能吗?

【问题讨论】:

  • getElementById('23')?你的意思是document.getElementById('23')

标签: javascript dom input readonly


【解决方案1】:

当然可以:但您需要这样做https://jsfiddle.net/pz1yd11u/

document.getElementById('23').value="Something else";

你错过了document

(ID 和类名不应以数字开头:read this

评论后更新,点击事件改变输入值

https://jsfiddle.net/pz1yd11u/1/

document.getElementById("kevs-button").addEventListener("click", displayNewValue);
  
function displayNewValue() {
	document.getElementById('23').value="Something else";
}
#kevs-button {
  background-color: orange;
  padding: 5px;
  width: 100px;
}
#kevs-button:hover {
  cursor: pointer;
  background-color: green;
}
<input type="text" id="23" value="Something" readonly />

<div id="kevs-button">Button</div>

【讨论】:

  • 我认为我没有很好地解释自己:) 我需要做的是更改事件的值(单击、悬停任何内容)。我知道我可以在文档加载时使用 document.getElementByID() ,但我需要能够通过事件来做到这一点。 PS - 感谢您提供有关使用数字作为 ID 的链接。
  • 嗨,抱歉,我刚刚收到回复通知电子邮件 - 确实收到了,是的,我已经接受了您的回答 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 2016-03-03
  • 2020-12-12
相关资源
最近更新 更多