使用 JavaScript 使文本框可编辑

发布于 2024-10-17 19:17:06 字数 377 浏览 3 评论 0原文

我有一个带有 readonly="readonly" 的文本框,这意味着我无法编辑它。但我想要的是当用户双击该文本框时使其可编辑。

我已经尝试过的是:

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

在 JavaScript 中:

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

但这不起作用。那么当用户双击文本框时,如何使文本框可编辑(只读)?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ら栖息 2024-10-24 19:17:06

更新:

要再次使其只读:

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

您可以执行以下操作:

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

JS:

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

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');
};
忘东忘西忘不掉你 2024-10-24 19:17:06

如上面 sarfraz 的纯 javascript 示例,尝试使您的 javascript 不引人注目
更好的做法

也正如很多人所做的那样,如果你现在页面上有jquery,你可以使用它来做同样的事情

在jquery

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

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");

一口甜 2024-10-24 19:17:06

使文本字段可编辑

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

使文本字段不可编辑

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

To make text field editable

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

To make text field Uneditable

document.getElementById("TextFieldId").readOnly=false;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文