2012-06-13 63 views
1

是否可以設置輸入的「只讀」屬性以使其可編輯?設置只讀屬性以保持輸入可編輯

我正在做一個填字遊戲,我可以改變我的功能來搜索/選擇一個標籤使用不同的屬性,但我仍然想知道是否有可能。

感謝您的幫助!

+3

咦建議?你想做一些只讀操作來使其可編輯?這沒有意義。 – PeeHaa

+0

如果我把你的權利,你可以使用一些額外的類來標記非空的字段。或者查看http://html5demos.com/contenteditable財產 – shershen

回答

7

如果JavaScript readOnly屬性設置爲true(布爾值,而非字符串),則該控件將不可編輯。

如果JavaScript readOnly屬性設置爲false(布爾值,而非字符串),則該控件將是可編輯的。

如果HTML readonly屬性存在,那麼readOnly屬性將默認爲true

如果HTML readonly屬性不存在,那麼readOnly屬性將默認爲false

JavaScript可以修改控件的value屬性,無論屬性具有哪種狀態。

如果將控件設置爲readOnly(JavaScript控制檯和DOM檢查器不是常規UI),則無法通過普通瀏覽器UI編輯控件。

+2

+1,這會回答許多隻讀問題。 – undefined

+1

**如果JavaScript只讀屬性設置爲false(一個布爾值,而不是一個字符串),那麼該控件將是可編輯的。**不,這是不正確的,至少不是在我的瀏覽器(Chrome)中。從我的回答中看到jsfiddle。 – KooiInc

+0

我的想法是保持輸入可編輯,並保持「只讀」屬性作爲選擇器。 非常感謝您的幫助,非常有用。我會在大多數功能中改變選擇器。 我必須選擇器 – DamianS1987

0

屬性readonly呈現輸入控件不可編輯給用戶。使用JavaScript,你仍然可以改變它的價值。將javascript中的readonly屬性設置爲false對用戶沒有影響,輸入仍然是readonly。刪除該屬性將使輸入再次可供用戶編輯。

您也可以使用disabled屬性,有兩點不同:該字段顯示灰色,你可以設置disabled直接屬性。

它的所有測試/中this jsfiddle證明[:更新]

+0

如果你正在使用'setAttribute'(我不這樣做),那麼你應該使用'setAttribute('readonly','readonly')'和'removeAttribute('readonly')'。 – Quentin