2013-10-10 3 views
5

Ich erstelle eine Tabelle über Javascript und eine Spalte wird eine HTML-Farbauswahl enthalten. Das Problem, das ich habe, ist, dass in Chrome der Standardwert eingestellt ist, aber die Farbe, die auf der Farbauswahl angezeigt wird, ist schwarz.HTML5 Eingabetyp Farbe zeigt keinen Wert bei der Erstellung über js

Dies ist Javascript, das ich

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); 

bin mit diesem die html ist, die aus wenn

< td class = "zweite" >
< input type = "color" id erzeugt wird = "colo_0" value = "# 8080ff" class = "Datenfeld" >
</td >

Ist das ein Fehler oder mache ich etwas falsch?

Antwort

4

Interessant. Ich konnte Ihre Ergebnisse replizieren (example).

Anstatt setAttribute, stellen Sie den value direkt:

inp.value = '#ffffff'; 

Anscheinend das macht Chrome glücklich. (Live Copy | Source)


Randbemerkung: All die Dinge, die Sie Einstellung über setAttribute haben reflektiert Eigenschaften können Sie stattdessen verwenden:

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

Beachten Sie, dass die letzte ist className statt class .

Updated Example | Source

+0

arbeitete wie ein Leckerbissen. Vielen Dank – stephan2307

1

Es könnte eines Tages für jemanden nützlich sein, also werde ich es gerade hier setzen: Der Wert der Eingangsfarbe scheint nur mit Hex-Wert zu arbeiten (und nicht RGB) - also, wenn Sie die Farbe in RGB - Schalter es zuerst zu hexen. RGB to hex

Verwandte Themen