Sven Mintel
Mitglied
Das Beispiel hättest du früher zeigen sollen
Fällt dir etwas auf?
Weiterhin:
lasse dir in der Funktion
....mal testhalber id.type ausgeben, du wirst staunen, was das ist
Der Grund: bei einer Eventüberwachung wird der Event selbst als Argument übergeben, sonst nichts.
Lösung:
per New Function() kann man den Funktions-Body als String definieren, dieser String würde bereits beim init() ausgewertet. Du musst so kein Argument an die Funktion übergeben.
Einfacher:
den <input>'s gebe als ID den Basis-Bestandteil, also ohne das "Obj"
Dann brauchst du keine Argumente übergeben, denn seine ID weiss das <input> selbst
Weiterhin:
den change-Event willst du doch im <input> überwachen, dann müsste es heissen:
Code:
colorset[7] = "__color_nildays";
......
<input id="__color_nilsdayObj" name="colorinput" type="text" size="7" />
.......
<td id="__color_nilsday"> </td>
Fällt dir etwas auf?
Weiterhin:
lasse dir in der Funktion
Code:
addEvent(colorelement,'change',function changeColor(id) {
var color = getObj(id + 'Obj').value;
var link = getObj(id);
if (color == '') {
link.style.backgroundColor = nocolor;
link.style.color = nocolor;
color = nocolor;
} else {
link.style.backgroundColor = color;
link.style.color = color;
}
eval(getObj(id + 'Obj').title);)
}
....mal testhalber id.type ausgeben, du wirst staunen, was das ist
Der Grund: bei einer Eventüberwachung wird der Event selbst als Argument übergeben, sonst nichts.
Lösung:
per New Function() kann man den Funktions-Body als String definieren, dieser String würde bereits beim init() ausgewertet. Du musst so kein Argument an die Funktion übergeben.
Einfacher:
den <input>'s gebe als ID den Basis-Bestandteil, also ohne das "Obj"
Dann brauchst du keine Argumente übergeben, denn seine ID weiss das <input> selbst
Code:
this.id
Weiterhin:
Code:
var colorelement = document.getElementById(id);
Code:
var colorelement = document.getElementById(id+'Obj');