2013-10-10 11 views
5

के माध्यम से बनाए गए मान को प्रदर्शित नहीं करता है, मैं जावास्क्रिप्ट के माध्यम से एक टेबल बना रहा हूं और एक कॉलम में एक HTML रंग पिकर होगा। मेरी समस्या यह है कि क्रोम में डिफ़ॉल्ट मान सेट किया गया है लेकिन कलर पिकर पर प्रदर्शित रंग काला है।एचटीएमएल 5 इनपुट प्रकार का रंग जेएस

यह जावास्क्रिप्ट है कि मैं उपयोग कर रहा हूँ

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

यह एचटीएमएल कि से उत्पन्न किया जाता है है अगर

< td class = "दूसरा" >
< इनपुट प्रकार = "रंग" आईडी = "colo_0" मूल्य = "# 8080ff" class = "datafield" >
</td >

क्या यह एक बग है या क्या मैं कुछ गलत कर रहा हूं?

उत्तर

4

दिलचस्प। मैं आपके परिणामों को दोहराने में सक्षम था (example)।

inp.value = '#ffffff'; 

जाहिर है कि क्रोम खुश करता:

setAttribute का उपयोग कर के बजाय, value सीधे सेट। (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 to hex

संबंधित मुद्दे