Nach dieser Funktion ist Sense ... warum ?
Jonas Tampier
- dhtml
Hallo,
Wenn ich folgende Funktion ausführe, wird alles was ich danach ausführe ignoriert ... warum ?
Die Funktion macht sonst was sie soll, nämlich Tabellenzellen rot bzw. grün einfärben.
sv ist ein Array von input feldern und dient als Vergleichswert.
Danke im Vorraus
Jonas Tampier
function CheckKritisch(cspalte)
{
var sg,reihe,zelle,spalten_anz,reihen_anz,wert;
sg = document.getElementById("sqlgrid");
reihen_anz = sg.firstChild.childNodes.length;
for(var i=0;i<reihen_anz;i++)
{
reihe = sg.firstChild.childNodes[2 + i];
zelle = reihe.childNodes[cspalte];
spalten_anz = reihe.childNodes.length;
wert = parseFloat(zelle.firstChild.firstChild.firstChild.nodeValue.replace(/,/,"."));
if(wert>sv[cspalte].value)
zelle.bgColor = "red";
else
zelle.bgColor = "green";
}
}
CheckKritisch(0);
alert("warum bekomme ich diese meldung nicht ?");
function CheckKritisch(cspalte)
{
var sg,reihe,zelle,spalten_anz,reihen_anz,wert;
sg = document.getElementById("sqlgrid");
reihen_anz = sg.firstChild.childNodes.length;
for(var i=0;i<reihen_anz;i++)
{
reihe = sg.firstChild.childNodes[2 + i];
zelle = reihe.childNodes[cspalte];
spalten_anz = reihe.childNodes.length;
wert = parseFloat(zelle.firstChild.firstChild.firstChild.nodeValue.replace(/,/,"."));
if(wert>sv[cspalte].value)
zelle.bgColor = "red";
else
zelle.bgColor = "green";
}
alert("warum bekomme ich diese meldung nicht ?");
}
(1) Der Aufruf war ausßerhalb Deiner Funktion. Er müsste eigentlich bei jedem Laden der Seite erfolgen...
(2) sollte es nicht zelle.style.backgroundColor="green" heissen?
(3a) Was sagt der Debugger in Mozilla (javascript:) in Adressleiste eingeben.
(3b) Angezeigte Fehlermeldungen?
fastix
function CheckKritisch(cspalte)
{
var sg,reihe,zelle,spalten_anz,reihen_anz,wert;
sg = document.getElementById("sqlgrid");
reihen_anz = sg.firstChild.childNodes.length;
for(var i=0;i<reihen_anz;i++)
hier muss reihen_anz -2 hin, s.u.
{
reihe = sg.firstChild.childNodes[2 + i];
denn ich addiere hier 2
zelle = reihe.childNodes[cspalte];
spalten_anz = reihe.childNodes.length;
wert = parseFloat(zelle.firstChild.firstChild.firstChild.nodeValue.replace(/,/,"."));
if(wert>sv[cspalte].value)
zelle.bgColor = "red";
else
zelle.bgColor = "green";
}
alert("warum bekomme ich diese meldung nicht ?");
}(1) Der Aufruf war ausßerhalb Deiner Funktion. Er müsste eigentlich bei jedem Laden der Seite erfolgen...
so war es auch gedacht
(2) sollte es nicht zelle.style.backgroundColor="green" heissen?
nope ich benutze nicht document.all sondern HTML-Elementobjekte
(3a) Was sagt der Debugger in Mozilla (javascript:) in Adressleiste eingeben.
Mit Mozilla bin ich dem Fehler schnell auf die schliche gekommen. :)
Danke
Moin!
zelle.bgColor = "green";
(2) sollte es nicht zelle.style.backgroundColor="green" heissen?
nope ich benutze nicht document.all sondern HTML-Elementobjekte
Du benutzt das W3C-DOM. Da macht es doch Sinn, auch CSS zu verwenden und darüber zu formatieren. Also wie vorgeschlagen zelle.style.backgroundColor="green". Das hat mit document.all absolut nichts zu tun, sondern wird von jedem ordentlichen DOM-Browser verstanden.
- Sven Rautenberg
Du benutzt das W3C-DOM. Da macht es doch Sinn, auch CSS zu verwenden und darüber zu formatieren. Also wie vorgeschlagen zelle.style.backgroundColor="green". Das hat mit document.all absolut nichts zu tun, sondern wird von jedem ordentlichen DOM-Browser verstanden.
Stimmt da muss ich euch beiden Recht geben, und die Behauptung mit dem document.all war wohl ein Ausrutscher von mir, ich hatte wohl gerade noch andere Dinge im Kopf.
Ich werde es gleich ändern.
MsG
Jonas Tampier