Kod
newRow.innerHTML += '<br>Kolor:<input type="text" class="color" id="c'+ddList.ddEl.id+'" name="c'+ddList.ddEl.id+'" size=6>';
var myPicker = new jscolor.color(document.getElementById('c'+ddList.ddEl.id), {});
addEventSimple(document.getElementById('c'+ddList.ddEl.id),'blur',ddList.setColor(document.getElementById('c'+ddList.ddEl.id).value,ddList.ddEl));
var myPicker = new jscolor.color(document.getElementById('c'+ddList.ddEl.id), {});
addEventSimple(document.getElementById('c'+ddList.ddEl.id),'blur',ddList.setColor(document.getElementById('c'+ddList.ddEl.id).value,ddList.ddEl));
i funkcje:
Kod
function addEventSimple(obj,evt,fn) {
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
Kod
setColor: function(txt,obj){
document.getElementById('label1').innerHTML = txt;
},
document.getElementById('label1').innerHTML = txt;
},
Chciałbym, aby po zmianie zawartości pola input text zmienił się napis w polu label1 na wybrany numer koloru (korzystam tutaj z biblioteki jscolor. Według mnie wszystko jest dobrze napisane, ale w ogóle nie chce działać. Pojawia się tylko raz napis w momencie inicjalizacji i potem się nie zmienia.
Ma ktoś może jakiś pomysł?
EDIT:
Zmieniłem kod dodawania biblioteki, ponieważ tamten sposób był błędny:
Kod
newRow.innerHTML += '<br>Kolor:';
var element = document.createElement('input');
element.setAttribute('id', 'c'+ddList.ddEl.id);
element.setAttribute('name', 'c'+ddList.ddEl.id);
element.setAttribute('type', 'text');
element.setAttribute('class', 'color');
element.setAttribute('size', '6');
newRow.appendChild(element);
var myPicker = new jscolor.color(element, {});
addEventSimple(element,'blur',ddList.setColor(element.value,ddList.ddEl));
var element = document.createElement('input');
element.setAttribute('id', 'c'+ddList.ddEl.id);
element.setAttribute('name', 'c'+ddList.ddEl.id);
element.setAttribute('type', 'text');
element.setAttribute('class', 'color');
element.setAttribute('size', '6');
newRow.appendChild(element);
var myPicker = new jscolor.color(element, {});
addEventSimple(element,'blur',ddList.setColor(element.value,ddList.ddEl));
Ale nadal nie wyświetla się tekst w momencie zmiany zawartości pola - nie ma tutaj znaczenia, czy jest to change, czy blur.
Co jeszcze może być nie tak?