Was stimmt hier nicht?
Sven
- javascript
0 Axel Richter0 Sven
0 Kube
Hallo!
Bei folgendem Skript beschwert er sich, die Variable "VideoS" sei nicht definiert. Egal, ob sie definiert wurde, oder nicht. Und selbst wenn nicht: Sollte die If-Abfrage am Anfang diesen Fehler nicht abfangen? Warum tut sie das nicht?
if(typeof VideoS[0] != "undefined")
{
for (var q=0;q<VideoS.length;q++)
{
document.write("</TR>");
document.write("<TR>");
document.write("<TD colspan='" + Spalten + "' class='standard'><a href='/hf/hr3/galerie/" + EventKategorie + "/img/" + EventName + "_video" + (q+1) + ".mpg'>" + VideoS[q][1] + "</a></TD>");
}
}
Habt Ihr eine Ahnung, wo der Fehler liegt?
Gruß,
Sven
Hallo!
Bei folgendem Skript beschwert er sich, die Variable "VideoS" sei nicht definiert. Egal, ob sie definiert wurde, oder nicht. Und selbst wenn nicht: Sollte die If-Abfrage am Anfang diesen Fehler nicht abfangen? Warum tut sie das nicht?
if(typeof VideoS[0] != "undefined")
{
for (var q=0;q<VideoS.length;q++)
{
document.write("</TR>");
document.write("<TR>");
document.write("<TD colspan='" + Spalten + "' class='standard'><a href='/hf/hr3/galerie/" + EventKategorie + "/img/" + EventName + "_video" + (q+1) + ".mpg'>" + VideoS[q][1] + "</a></TD>");
}
}
Habt Ihr eine Ahnung, wo der Fehler liegt?
Gruß,
Sven
Hi Sven,
Dein if prüft nur, ob der erste Wert im Array "undefined" ist. Das ist aber unnötig, weil dann VideoS.length gleich 0 ist und die for-Schleife gar nicht startet.
Du musst irgendwo am Anfang dein Array initialisieren mit:
var VideoS=new Array;
Ich hoffe, das hilft.
Gruß
Axel
Hallo!
Dein if prüft nur, ob der erste Wert im Array "undefined" ist. Das ist aber unnötig, weil dann VideoS.length gleich 0 ist und die for-Schleife gar nicht startet.
Du musst irgendwo am Anfang dein Array initialisieren mit:
var VideoS=new Array;
Die Variable wird in einer anderen Datei definiert, auf die diese hier zugreift. Und mit dieser Abfrage soll das Skript prüfen, ob diese Variable definiert ist. Wenn ja, soll sie den Inhalt zeigen, wenn nein, im Skript fortfahren. Das funktioniert an anderer Stelle mit anderen Variablen wunderbar, nur hier nicht. Hier zum Beispiel geht's:
if(typeof Headline[i] != "undefined")
{
document.write("</tr>");
document.write(" ");
document.write("<tr>");
for (var SpaltenZaehler=0;SpaltenZaehler<Spalten;SpaltenZaehler++) { document.write("<TD width='100' align='center' valign='middle'><img src='/img/platzhalter_10x10.gif' width='100' height='5'></TD>"); }
document.write("</tr>");
document.write("<TR><TD colspan='" + Spalten + "'><p class='aqua'>" + Headline[i][1] + "</P></TD></TR>");
Zaehler = "0";
}
Ist doch im Grunde nix anderes, als die Abfrage, die jetzt nicht funktioniert. Was ich gern wüßte: Warum geht die hier, aber die andere, die im Grunde doch genauso ist, nicht?
Gruß,
Sven
Das funktioniert an anderer Stelle mit anderen Variablen wunderbar, nur hier nicht. Hier zum Beispiel geht's:
if(typeof Headline[i] != "undefined")
{
document.write("</tr>");
document.write(" ");
document.write("<tr>");
for (var SpaltenZaehler=0;SpaltenZaehler<Spalten;SpaltenZaehler++) { document.write("<TD width='100' align='center' valign='middle'><img src='/img/platzhalter_10x10.gif' width='100' height='5'></TD>"); }
document.write("</tr>");
document.write("<TR><TD colspan='" + Spalten + "'><p class='aqua'>" + Headline[i][1] + "</P></TD></TR>");
Zaehler = "0";
}
Ist doch im Grunde nix anderes, als die Abfrage, die jetzt nicht funktioniert. Was ich gern wüßte: Warum geht die hier, aber die andere, die im Grunde doch genauso ist, nicht?
Gruß,
Sven
Hi Sven,
bist du sicher, dass if(typeof Headline[i] != "undefined") jemals mit einem völlig undefinierten Array Headline konfrontiert wurde? Dann müsste nämlich auch hier ein Fehler auftreten. Wieso kannst du nicht sicherstellen, dass das Array initialisiert wird. Dann prüfst du einfach, ob es leer ist mit VideoS.lenght.
Gruß
Axel
Hallo
if(typeof VideoS[0] != "undefined")
wenn VideoS undefiniert ist, muss hier logischerweise ein Fehler kommen!
besser:
if (VideoS && VideoS[0]) ...
Gruss,
Kube
if(typeof VideoS[0] != "undefined")
wenn VideoS undefiniert ist, muss hier logischerweise ein Fehler kommen!
Aber warum funktioniert dann das hier:
if(typeof Headline[i] != "undefined")
Das ist doch auch nicht anders, oder?
Gruß,
Sven
if(typeof VideoS[0] != "undefined")
wenn VideoS undefiniert ist, muss hier logischerweise ein Fehler kommen!
Aber warum funktioniert dann das hier:
if(typeof Headline[i] != "undefined")
Das ist doch auch nicht anders, oder?
der Unterschied ist, das der Array Headline wohl immer definiert ist.
Kannst du dich darauf immer verlassen? Nur dadurch klappt die Array-Abfrage Headline[i] auch.
Gruß,
Sven
der Unterschied ist, das der Array Headline wohl immer definiert ist.
Kannst du dich darauf immer verlassen? Nur dadurch klappt die Array-Abfrage Headline[i] auch.
AAAAHHH! Ich Depp! Hab eine Zeile übersehen.
SORRY, vergeßt das Ganze! :-/
Gruß,
Sven