HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - Wo sind die JAVASCRIPT-Spezialisten ?

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Wo sind die JAVASCRIPT-Spezialisten ?

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Hein
Forumsteilnehmer


Anmeldungsdatum: 14.08.2006
Beiträge: 10

BeitragVerfasst am: 24.08.2006 11:26:52    Titel: Wo sind die JAVASCRIPT-Spezialisten ? Antworten mit Zitat

Hallo,

nochmals meine Frage nach einem Fehler im JavaScript-Code!

Code:
<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 = new Object();

   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;

      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)
   {
      switch (call)
      {
         case "?sbfb": var FrageTab = document.getElementById('FragenSBFB'); break;  // Objektzeiger
         case "?sbfs": var FrageTab = document.getElementById('FragenSBFS'); break;  // Objektzeiger
         case "?sks": var FrageTab = document.getElementById('FragenSKS'); break;    // Objektzeiger
         case "?ubi": var FrageTab = document.getElementById('FragenUBI'); break;    // Objektzeiger
         case "?src": var FrageTab = document.getElementById('FragenSRC'); break;    // Objektzeiger
         case "?skn": var FrageTab = document.getElementById('FragenSKN'); break;    // Objektzeiger
      }

      // 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>


Ich habe zweimal dieselbe Codesequenz sowohl in DIV ID="FrageOut" als auch in DIV ID="AntwortOut".

in FrageOut bekomme ich die Fehlermeldung -FrageTab.documentElement. ist Null oder kein Objekt -
während in AntwortOut der Satz gelesen und angezeigt wird.

Die Fehlermeldung in FrageOut, kann ich dadurch verhindern das ich vor der Variablendeklaration nummer, punkte, bogen usw. ein alert(FrageTab) einfüge. Dieser zeigt mir auch an das die Variable FrageTab ein object ist.

Ich habe diverse Möglichkeiten ausprobiert komme aber zu keinem Ergebniss. Vielleicht findet einer von euch die Lösung.

Den gesamten Quellcode kann man sich unter

www.wss-elbmarsch.de Menüpunkt SBF-Binnen/Trainer/StartTrainerSBFB/DEMO angucken. Funktioniert leider derzeit nur mit MSie 6.0.

look and help

Michael Hein

PS. Wer die Lösung findet darf bei mir kostenlos an den Vorbereitungskursen für den Sportbootführerschein Binnen teilnehmen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 24.08.2006 13:26:51    Titel: Antworten mit Zitat

Erster Hinweis:
http://www.html-world.de/artikel/art_j08.php

Zweiter Hinweis:
documentElement existiert nur bei document und nicht bei einem beliebigem Objekt. Insofern ist dein FrageTab-Objekt Unsinn woraus sich die restlichen Fehler ergeben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 24.08.2006 13:47:33    Titel: Re: Wo sind die JAVASCRIPT-Spezialisten ? Antworten mit Zitat

Hein hat folgendes geschrieben:

PS. Wer die Lösung findet darf bei mir kostenlos an den Vorbereitungskursen für den Sportbootführerschein Binnen teilnehmen.


<offtopic>
LOL, und der Gewinner ist, ...JAN Very Happy
</offtopic>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 24.08.2006 14:10:37    Titel: Antworten mit Zitat

yeah, wann darf ich meinen scheck in empfang nehmen und die sektkorken knallen lassen? Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Hein
Forumsteilnehmer


Anmeldungsdatum: 14.08.2006
Beiträge: 10

BeitragVerfasst am: 24.08.2006 17:54:57    Titel: Antworten mit Zitat

Hallo Jan Winkler,

nur mal zu Erläuterung ' kostenlose Teilnahme' bedeutet das ich keinen Scheck bekomme und nicht umgekehrt.

Aber nun immer langsam mit den jungen Pferden. Meine Frage ist nicht beantwortet und mein Problem durch deinen Einwand nicht gelöst.

Wir sind uns sicher klar darüber, dass FrageTab ein Pointer auf ein Object ist. Sollte diese wie du anmerkst, auf einen falschen Objecttyp zeigen, so würde die Fehlermeldung - falscher Objecttyp - lauten bzw. - Object unterstützt diese Methode nicht -.

Gleichzeitig kann ich mir dann nicht erklären wie ich ein einige Codezeilen später mit dem selben Pointer
antwort = FrageTab.documentElment.childNodes(start).childNodes(5) ohne Fehlermeldung durchkriege und den entsprechenden Teil der xml-Datei auch angezeigt bekomme. Die kannst du dir ansehen wenn du nach der Fehlermeldung den zeigen-Button betätigtst. Du siehst eine Antworttext gelesen aus einer xml-Datei. Innerhalb der xml-Datei kannst du blättern indem du den ok-Button betätigtst.

Auch erklärt das nicht warum durch den Aufruf alert(FrageTab)
auf einmal der Objecttyp geändert sein soll.

Hoffentlich hast du nicht jetzt schon den ganzen Sekt ausgetrunken!

MfG

Michael Hein

PS. Hallo Kambfhäschen,

ich musste mir erst mal von meiner Tochter erklären lassen was LOL bedeutet. Leider hast du dich zu früh gefreut. *g*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 24.08.2006 18:33:15    Titel: Antworten mit Zitat

sagt doch gleich dass deine FragenSBFB und Co XML-Elemente sind ...


FrageTab existiert nur dann nicht wenn call nich einen der 6 Werte annimmt. Ergo: Wenn dein FrageTab beim zweiten mal nicht korrekt ist, liegts an call
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Hein
Forumsteilnehmer


Anmeldungsdatum: 14.08.2006
Beiträge: 10

BeitragVerfasst am: 25.08.2006 07:03:57    Titel: Antworten mit Zitat

Hallo,

vielleicht muss die Funktionalität der Anwendung Trainer noch etwas erläutern.

Die Variable call wird nach der Auswahl im Menü gesetzt und enthält den Verweis auf die entsprechende xml-Datei, die Variablen start und ziel definieren den Nummernkreis der anzuzeigenden Fragen zu den im Menü aufgeführten Themen.

D.h. beim ersten Aufruf erfolgt kein Zugriff auf die xml-Dateien.

Ergo call ist gesetzt.

Ich muss nicht betonen, dass die Anwendung Trainer - standalone - einwandfrei funktioniert.

Michael Hein
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kambfhase
Häufiger Poster


Anmeldungsdatum: 19.03.2006
Beiträge: 235

BeitragVerfasst am: 25.08.2006 14:53:28    Titel: Antworten mit Zitat

also das es so kompliziert werden würde häte ich nicht gedacht. eigentlich versteh ich hier nix mehr. somit mein letzter post in diesem thread.

<offtopic>
Hein hat folgendes geschrieben:

PS. Hallo Kambfhäschen,

ich musste mir erst mal von meiner Tochter erklären lassen was LOL bedeutet. Leider hast du dich zu früh gefreut. *g*

was sagt man dazu? ... Ja, LOLOLOLOLOLOLOLOLOLOLOL ... Razz( das bringt mich auf eine gute idee für ein programm.
</offtopic>

MfG Kambfhase
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   JavaScript
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.