简体   繁体   English

如何使用JavaScript使只读文本字段可写?

[英]How to make a readonly text field writable using JavaScript?

I want to enable the text field (its id is name_text_field ) when clicking the button (its id is name_button ). 我想启用文本字段(它的ID是name_text_field )点击该按钮时(其ID为name_button )。 But my code is not working. 但是我的代码无法正常工作。

Here is my HTML code: 这是我的HTML代码:

<input type="text" id="name_text_field" readonly="readonly" value="name">
<button id="name_button" onclick="enableTxt()" style="color: #009dcd; color: #009dcd; border: none; background-color: #ffffff;">name</button>

Here is my JavaScript code: 这是我的JavaScript代码:

function enableTxt() {
  document.getElementById("name_text_field").disabled = false;
}

I think you want to make it writable. 我认为您想使其可写。

Because you are setting the readOnly property you should change readOnly property to false . 因为您正在设置readOnly属性,所以应该将readOnly属性更改为false

function enableTxt() {
  document.getElementById("name_text_field").readOnly = false;
}

DEMO DEMO

Or you can make it disabled in HTML, then your code will work. 或者您可以将其disabled为HTML,然后您的代码即可使用。

disabled and readonly are two completely different things. disabledreadonly是完全不同的两件事。

If you want your element to start disabled, use 如果要禁用元素,请使用

<input type="text" id="name_text_field" value="name" disabled>

Demo: 演示:

 function enableTxt() { document.getElementById("name_text_field").disabled = false; } 
 <input type="text" id="name_text_field" value="name" disabled> <button id="name_button" onclick="enableTxt()" style="color: #009dcd; color: #009dcd; border: none; background-color: #ffffff;">name</button> 

try this 尝试这个

function enableTxt() {
  document.getElementById('name_text_field').readOnly = false;
}

It's pretty simple. 很简单 You were attempting to change disabled when you really should have been changing readonly . 当您确实应该更改为readonly时,您尝试更改为disabled You could also just use disabled and leave readonly out all together. 您也可以只使用禁用,而将只读保留在一起。

HTML: HTML:

<input type="text" id="name_text_field" disabled="true" value="name">
<button id="name_button" onclick="enableTxt()" style="color: #009dcd; color: #009dcd; border: none; background-color: #ffffff;">name</button>

JS: JS:

function enableTxt() {
  document.getElementById("name_text_field").disabled = false;
}

Hope that helps & here is a demo for proof! 希望对您有所帮助,这是一个演示示例!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM