Hallo Zusammen,
ich habe eine Problem mit meinen Javascript Zeilen.
Ich habe zwar schon nach eine Lösung gesucht und auch verschiedene Ansaätze versucht - bisher jedoch ohen Erfolg.
Hier zuerst mal mein JS-Code:
function markieren(zelle, uebergabezellenid)
{
if (zelle.className!="")
{
zelle.className="";
} else {
if (document.tagesart.elements[0].checked) { zelle.className="eins"; var zellenid = "document.form_tage.elements[\"" + uebergabezellenid + "\"]"; zellenid.value = "1"; }
if (document.tagesart.elements[1].checked) { zelle.className="zwei"; document.form_tage.elements["uebergabezellenid"].value = "2"; }
if (document.tagesart.elements[2].checked) { zelle.className="drei"; document.form_tage.elements["uebergabezellenid"].value = "3"; }
}
}
Das Script ändert zum einen die Hintergrundfarbe der angeklickten Zelle (über die Klasse) - was auch funktioniert. Auf der anderen Seite ist jeder Zelle ein Hidden elemt zugeordnet welches eine id hat die aus PHP erzeugt wird.
Zur veranschauung hier ein Ausschnitt aus dem Aufruf:
<td
bgcolor='#e0ffff' onclick='markieren(this,1246921200)'>07<input type='hidden' name="1246921200" value = '0'></td>
Leider funktioniert der Code auf diesem Wege nicht. Je nach dem wie ich ihn umstelle (im ersten Code sieht man auch einen Versuch) funktioniert er im FF aber nicht im IE. Wenn ich ein Hidden-Feld erstelle und es so benenne wie die Variable (uebergabezellenid), dann wird dort die Änderung sofort wirksam. Ich vermute also, dass der Fehler darin liegt ob JS erkennt, dass es sich um eine Variable handelt.
Rufe ich die Felder über elements[2] also über die Nummer statt den Namen auf funktioniert das ganze. Das ist bei einer durch PHP erzeugten Website aber ziemlich unberechenbar ;-)
Würde mich freuen, wenn Ihr mir helfen könnt.
LG