Hallo @ll,
ich habe hier eine Problem welches ich schon in HTML-WORLD gepostet hatte zu dem mir da jedoch niemand helfen konnte.
Auf meiner Website www.wss-elbmarsch.de findet man unter dem Menüpunkt SBF-Binnen/Trainer/DEMO einen Aufruf eines sog. Trainers zur den Prüfungsfragen der entsprechenden Bootsführerscheine. So weit so gut.
Diese ca. 600 Fragen sind in einer xml-Datei hinterlegt und werden über die Menüpunkte z.Bsp. Allgemein (36) thematisch sortiert angezeigt. Die Antworten zu den Fragen werden über den Zeigen-Button angezeigt die Anzeige der nächsten Frage erreiche ich über den ok-Button.
Dies funktioniert einwandfrei, solange ich dieses System standalone bzw. als hta auf meinem Rechner betreibe. Nach dem Überspielen zu meinem Provider bekomme ich an der Stelle
<DIV ID="OutFrage" STYLE="position:absolute; top:60px; left:0px; visibility:visible">
<SCRIPT LANGUAGE="JavaScript">
<!--
var res = new String();
var resFrage = new String();
var FrageTab;
if (start != null)
{
switch (call)
{
case "?sbfb": FrageTab = document.getElementById('FragenSBFB'); break; // Objektzeiger
case "?sbfs": FrageTab = document.getElementById('FragenSBFS'); break; // Objektzeiger
case "?sks": FrageTab = document.getElementById('FragenSKS'); break; // Objektzeiger
case "?ubi": FrageTab = document.getElementById('FragenUBI'); break; // Objektzeiger
case "?src": FrageTab = document.getElementById('FragenSRC'); break; // Objektzeiger
case "?skn": FrageTab = document.getElementById('FragenSKN'); break; // Objektzeiger
}
// childNodes(Objektzeiger)
var nummer, punkte, bogen, grafik, frage;
if (FrageTab.documentElement.childNodes(start) == null || top.demo == 'demo' && start == 5)
{
alert("Die DEMO-Version endet hier.\n\nZum Erwerb der Vollversion setzen\nSie sich mit mir in Verbindung");
}
else
{
nummer = FrageTab.documentElement.childNodes(start).childNodes(0);
punkte = FrageTab.documentElement.childNodes(start).childNodes(1);
bogen = FrageTab.documentElement.childNodes(start).childNodes(2);
grafik = FrageTab.documentElement.childNodes(start).childNodes(3);
frage = FrageTab.documentElement.childNodes(start).childNodes(4);
resFrage += '<TABLE BORDER="0" WIDTH="300" CELLSPACING="5" CELLPADDING="0">';
resFrage += '<TR>';
resFrage += '<TD WIDTH="48">'+ nummer.text +'</TD>';
resFrage += '<TD WIDTH="52">'+ punkte.text +'</TD>';
resFrage += '<TD WIDTH="160">'+ bogen.text +'</TD>';
resFrage += '</TR>';
resFrage += '</TABLE>';
resFrage += '<TABLE BORDER="0" WIDTH="300" CELLSPACING="5" CELLPADDING="0">';
resFrage += '<TR>';
resFrage += '<TD WIDTH="300" HEIGHT="80" VALIGN="top">'+ frage.text +'</TD>';
resFrage += '</TR>';
resFrage += '</TABLE>';
if(grafik.text == "")
{
parent.dd.elements.trainerGrafik.swapImage('transparentpixel.gif');
}
else
{
parent.dd.elements.trainerGrafik.swapImage(grafik.text);
parent.dd.elements.trainerGrafik.setOpacity(0.8);
parent.dd.elements.trainerGrafik.show();
}
document.open();
document.write(resFrage);
document.close();
}
}
//-->
</SCRIPT>
</DIV>
<DIV ID="Fest" STYLE="position:absolute; top:205px; left:0px; visibility:visible">
<TABLE BORDER="0" WIDTH="300" CELLSPACING="5" CELLPADDING="0">
<TR>
<TD><HR SIZE="0" WIDTH="290" COLOR="#00005d" noshade></HR></TD>
</TR>
<TR>
<TD ALIGN="center"><A HREF="JavaScript:showAntwort()" onMouseOver="javascript:showImage('0','button1', 'b')" onMouseOut="javascript:showImage('0','button1', 'a')"><IMG SRC="../images/bZeigenOff.gif" WIDTH="90" HEIGHT="23" BORDER="0"></A></TD>
</TR>
<TR>
<TD><HR SIZE="1" WIDTH="290" COLOR="#00005d" noshade></HR></TD>
</TR>
</TABLE>
</DIV>
<DIV ID="OutAntwort" STYLE="position:absolute; top:270px; left:0px; visibility:hidden">
<SCRIPT LANGUAGE="JavaScript">
<!--
resAntwort = new String();
if (start != null)
{
// childNodes(Objektzeiger)
var antwort;
antwort = FrageTab.documentElement.childNodes(start).childNodes(5);
resAntwort += '<TABLE BORDER="0" WIDTH="300" CELLSPACING="5" CELLPADDING="0"><TR>';
resAntwort += '<TD HEIGHT="100" VALIGN="top">' + antwort.text + '</TD></TR>';
resAntwort += '</TABLE>';
document.open();
document.writeln(resAntwort);
document.close();
}
//-->
</SCRIPT>
</DIV>
nummer = FrageTab.documentElement.childNodes(start).childNodes(0) die Fehlermeldung - FrageTab.documentElement ist null oder kein Object -
Ignoriere ich diese Fehlermeldung so liesst das System wenige Codezeilen später in DIV ID="OutAntwort" mit derselben Variablen FrageTab die Antwort aus der xml-Datei. Dies kann ich mir nicht erklären. Die Fehlermeldung kann ich auch dadurch verhindern, dass ich vor dem beanstandeten Befehl ein alert(FrageTab) einfüge. nach der Bestätigung im alert werden die folgenden Befehle ohne Beanstandungen ausgeführt.
Wer kann mir helfen ?
Mit freundlichen Grüßen
Michael Hein