2013-10-10 48 views
5

我通過javascript創建了一個表格,一列將包含一個html顏色選擇器。我遇到的問題是,在Chrome中默認值已設置,但顏色選擇器上顯示的顏色爲黑色。當通過js創建HTML5輸入類型的顏色時不顯示值

這是我使用

c = r.insertCell(1); 
c.setAttribute('class','second'); 
inp=document.createElement("input"); 
inp.setAttribute('type','color'); 
inp.setAttribute('id','colo_'+i); 
inp.setAttribute('value','#ffffff'); 
inp.setAttribute('class','datafield'); 
inp.addEventListener('change', saveFields); 
c.appendChild(inp); 

這是從生成的HTML的JavaScript如果

< TD類= 「第二」 >
< INPUT TYPE = 「彩色」 ID =「colo_0」value =「#8080ff」class =「datafield」>
</td >

這是一個錯誤還是我做錯了什麼?

回答

4

有趣。我能夠複製你的結果(example)。

比使用setAttribute而是直接設置value

inp.value = '#ffffff'; 

顯然,這使得Chrome的快樂。 (Live Copy | Source


邊注:所有的您是通過setAttribute反映屬性設置,您可以改用的東西:

inp = document.createElement("input"); 
inp.type = 'color'; 
inp.id = 'colo_'+i; 
inp.value = '#ffffff'; 
inp.className = 'datafield'; 

注意,最後一個是className而非class

Updated Example | Source

+0

工作就像一種享受。謝謝 – stephan2307

1

這可能是有人有一天有幫助,所以我只是把它放在這裏: 輸入顏色的價值似乎只與十六進制值(而不是RGB)的工作 - 所以,如果你的顏色爲RGB - 開關它以十六進制表示。 RGB to hex

相關問題