Сделать текстовое поле редактируемым с помощью JavaScript - PullRequest
1 голос
/ 16 февраля 2011

У меня есть текстовое поле с readonly="readonly", что означает, что я не могу его редактировать.Но я хочу сделать это текстовое поле редактируемым, когда пользователь дважды щелкает по нему.

Я уже пробовал:

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

и в JavaScript:

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

Но это не сработало.Итак, как сделать редактируемое текстовое поле доступным только для чтения, когда пользователь дважды щелкает по нему?

Ответы [ 3 ]

6 голосов
/ 16 февраля 2011

Обновление:

Для повторного чтения:

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');
};
0 голосов
/ 03 сентября 2016

Чтобы редактировать текстовое поле

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

Сделать текстовое поле недоступным для редактирования

document.getElementById("TextFieldId").readOnly=false;
0 голосов
/ 16 февраля 2011

как выше, чистый пример javascript от sarfraz попытается сделать ваш javascript ненавязчивым намного лучшая практика

Также, как и многие люди, если у вас есть jquery на странице, вы можете использовать это, чтобы сделать то же самое

В jquery

$ ( '# TXT') removeAttr ( "ReadOnly").

...