2010-09-16 35 views
0

我目前正在嘗試查看是否有辦法禁用輸入但不允許輸入獲得焦點。我這樣做是因爲我仍然需要後端來檢索數據,但不允許用戶在特定時間編輯輸入字段。由於禁用不會將數據返回到不起作用的後端。 我目前這樣做的方式是,當用戶按下提交時,我刪除禁用的屬性,但這使得它們在下一頁加載前幾秒鐘顯示正常。任何建議將是巨大的(我的下一個步驟將被添加HTML只是無法獲得焦點而不是禁用

background-color: #F2F2F2 !important; 
color: #C6C6C6; 
border-color: #ddd; 

但由於每個瀏覽器做不同的看法,我寧願一個解決方案,並沒有這樣做。

回答

1

只是攔截onfocus事件併發送blur()事件,這樣一來,如果有人着重於它,輸入立即散。

​document.getElementById('input').onfocus = function() { this.blur(); }​​​​​

下面是一個例子
http://jsfiddle.net/HkbTH/

+0

你真了不起,謝謝! – Craig 2010-09-17 16:27:56

2

禁止輸入,並添加另一種輸入類型=具有相同的名稱隱藏

1

考慮使用readonly,這意味着正是這樣的事情。

<input type="text" name="foo" readonly> 
<input type="text" name="foo" readonly="readonly"/> <!-- XHTML syntax --> 

document.getElementsByName('foo')[0].readonly= true; 

A readonly字段可以集中,所以用戶仍然可以例如。選擇並複製文本。但它不能被編輯,並且渲染可能看起來是半禁用的。

相關問題