Make text box editable using JavaScript

2019-03-02 14:23发布

I've a textbox with readonly="readonly" that means I can not edit it. But what I want is to make this textbox editable when user double clicks on it.

What I've tried yet is:

<input size="10" readonly="readonly" ondblclick="setEditable(this)"/>

and in JavaScript:

 function setEditable(i){
     i.readonly = false;
 }

But this does not worked. So how can I make a textbox editable, which is readonly, when user double clicks on it?

3条回答
别忘想泡老子
2楼-- · 2019-03-02 14:49

To make text field editable

document.getElementById("TextFieldId").readOnly=true;

To make text field Uneditable

document.getElementById("TextFieldId").readOnly=false;
查看更多
你好瞎i
3楼-- · 2019-03-02 14:53

Update:

To make it readonly again:

var el = document.getElementById('txt');
el.onblur = function(){
  this.setAttribute('readonly');
};

You can do this:

<input size="10" readonly="readonly" id="txt" />

JS:

var el = document.getElementById('txt');
el.ondblclick = function(){
  this.removeAttribute('readonly');
};
查看更多
不美不萌又怎样
4楼-- · 2019-03-02 15:05

as above pure javascript example by sarfraz try to make your javascript unobtrusive much better practice

Also as a lot of people do if you have jquery on page now you can use that to do same

In jquery

$('#txt').removeAttr("readonly");

查看更多
登录 后发表回答