2013-03-10 60 views
0

我有一個HTML表單下面的代碼:在Java腳本texfield刪除屬性

<input type="text" name="myText" value="Enter Your Name" readonly> 
<input type="button" onclick="inn()" value="edit"> 

當我點擊編輯按鈕,我想文本框的只讀屬性被移除,使得用戶可以編輯文本字段的值。我不想改變任何其他財產。

我也不想還編輯整個形式:

formId.innerHTML= 

上面的代碼只顯示一個文本字段和一個按鈕。在我的頁面上有12個文本字段和5個按鈕。我想刪除該屬性不再重新編輯整個屬性。

請建議一些JavaScript代碼,這將有助於。

function inn() 
{ 
    // What do I type here to remove the readonly property of the "MyText" text-field? 
} 

回答

3

首先,您需要從DOM獲取<input>元素。一種可能的方式:

var element = document.getElementsByName("myText")[0]; 

隨後,爲了除去readonly你可以改變readOnly屬性:

element.readOnly = false; 

或明確移除屬性:

element.removeAttribute("readonly"); 
+0

爲+1的removeAttribute – exexzian 2013-03-10 11:52:31

+0

雅老兄其工作。非常感謝那個兄弟。你是一個非常好的程序員。非常感謝 – 2013-03-10 12:06:28

2

嘗試:

爲您的輸入元素提供一個ID:

HTML

<input type="text" name="myText" id="myText" value="Enter your name" readonly /> 

JS

function inn() { 
    document.getElementById('myText').readonly = false; 
} 
+0

兄弟不工作。爲我提供任何其他解決方案。因爲你建議我在這裏是我的代碼 - http://www.datafilehost.com/download-b5bb3c42.html和它的不工作 – 2013-03-10 11:57:56

+0

你有沒有嘗試@VisioN給的選項? – Vivienne 2013-03-10 12:01:13

+0

雅兄弟,一個工作.. – 2013-03-10 12:19:06

0

首先分配一個ID,你的文本。

<input type="text" name="myText" id ="txt" value="Enter Your Name" readonly> 
<input type="button" onclick="inn()" value="edit"> 

然後你就可以在你的JavaScript編寫 -

function inn() 
{ 
    if ($('#txt').attr("readonly") == true) 
    { 
     $('#txt').val(''); 
     $('#txt').removeAttr("readonly"); 
    } 
} 
+0

OP沒有提到jQuery的問題。 – VisioN 2013-03-10 11:53:43

+0

這一個也不適合我的。檢查這個兄弟。是我犯了什麼錯誤 - http://www.datafilehost.com/download-34696cc5.html – 2013-03-10 12:03:44