2011-02-16 81 views
1

我有一個文本框readonly="readonly"這意味着我不能編輯它。但是我想要的是當用戶雙擊它時可以編輯這個文本框。使文本框可編輯使用JavaScript

什麼我還沒試過是:

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

,並在JavaScript:

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

但這並不奏效。所以我怎樣才能使文本框可編輯,這是隻讀,當用戶雙擊它?

回答

6

更新:

爲只讀再次使其:

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

我怎麼能再次讓`readonly`使用`的onblur()`? – 2011-02-16 12:25:38

+0

@Harry Joy:查看更新後的答案。 – Sarfraz 2011-02-16 12:27:18

0

如上所述通過sarfraz嘗試純javascript例子,使你的JavaScript低調 更好的做法

另外,作爲一個很多人做,如果你有網頁上的jQuery現在你可以用它來做到同樣的

jquery

$('#txt')。removeAttr(「readonly」);

0

爲了使文本字段編輯

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

爲了使文本字段不可編輯

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