cromafi: Klappfenster Problem

Guten Morgen.. Gute Sorgen... ;)

Habe ein Problem mit meinem Javascript.. ein sogenanntes Klappfenster...

Er bringt mir den Fehler:

Nicht abgeschlossene Zeichenfolgenkonstante

????

im index.php:

  
if($main == "salon")  
{  
echo "<tr><td><script language=\"JavaScript\" src=\"js/KantMenu.php\"></script></td></tr>";  
}  

Danke und Gruss
cromafi

  1. Er bringt mir den Fehler:

    Wer ist er?

    Nicht abgeschlossene Zeichenfolgenkonstante

    Das ist alles?

    im index.php:

    if($main == "salon")
    {
    echo "<tr><td><script language="JavaScript" src="js/KantMenu.php"></script></td></tr>";
    }

      
    Der PHP Code ist für Javascript Probleme unrelevant, wie sieht der Code, der im Browser ankommt aus?  
    Vor allem die Zeile in der der Fehler genannt wird.  
      
    Struppi.
    
    1. Wer ist er?

      Der Browser

      Das ist alles?

      Ja das ist alles

      Der PHP Code ist für Javascript Probleme unrelevant, wie sieht der Code, der im Browser ankommt aus?
      Vor allem die Zeile in der der Fehler genannt wird.

      Struppi.

      Das wäre noch zur Funktion hinzufügen:

      var obj;
      function more(id){
       if(obj)obj.style.display="none";

      obj = document.getElementById(id);
       if(obj.style.display=="none"){
        obj.style.display="";
       } else {
        obj.style.display="none";
       }
      }

      und habe noch das Script von "KantMenu.php" (Dort ist der Inhalt des Klappfensters) benötigst du das?

      1. Wer ist er?
        Der Browser

        und wie heißt er?

        Das ist alles?

        Ja das ist alles

        Ich kenne keinen Browser der so schweigsam ist.

        Deine Infos reichen einfach nicht um dir zu helfen.
        1. Was für einen Browser benutzt du?
        2. Wie lautet die komplette Fehlermeldung
        3. Wie sieht der code der Zeile aus, in der der Fehler auftritt und zwar, der der im Browser ankommt.
        4. Was hast du bisher probiert?

        und als Tipp, falls du den IE benutzt, Firefox hat eine Fehlerkonsole, mit der sich wesentlich besser Fehler finden läßt.

        Struppi.

        1. Das ist die KantMenu.php

          <?php
           function ReadFromFile(){
            $i=0;
            $TheFile= "menu.txt";
            $Open = fopen ($TheFile,"r");
            if ($Open) {
             $str = "document.write('";
             $str = $str . "<LINK href="css/style.css" type="text/css" rel="stylesheet"><script language="JavaScript" src="js/javascript.js"></script>";
             $Data = file ($TheFile);
             for ($n = 0; $n < count($Data); $n++) {
              $GetLine = explode("\t",$Data[$n]);
              if ($GetLine[0] == 0) {
               if ($i > 0) {
                $str = $str . "</div>";
               }
               $i++;
               $str = $str . "&nbsp;<img src="$GetLine[1]" width="10" height="10">";
               $str = $str . "&nbsp;<font class="count_kant">[$GetLine[2]] </font>";
               $str = $str . "<a href="#" return true;" onclick="javascript:more('123400$i'); window.open('$GetLine[3]','artFrame'); return false;" target="artFrame">";
               $str = $str . "<font class="link_kant"><strong>$GetLine[4]</strong></font>&nbsp;&nbsp;</a><img src="";
               $str = $str . chop ($GetLine[5]);
               $str = $str . "" width="23" height="9"><br><div id="123400$i" style="display:none">";
              } else {
               $str = $str . "&nbsp;&nbsp;&nbsp;&nbsp;<img src="bilder/arrows.gif" width="15" height="5">";
               $str = $str . "&nbsp;&nbsp;<a href="$GetLine[1]" target="artFrame" class="link_kant">";
               $str = $str . chop ($GetLine[2]);
               $str = $str . "</font></a>";
               if ($GetLine[3] > " ") {
                $str = $str . "&nbsp;&nbsp;&nbsp;<img src="";
                $str = $str . chop ($GetLine[3]);
                $str = $str . "" width="23" height="9">";
               }
               $str = $str . "<br>";
              }
             }
             fclose ($Open);
             $str = $str . "</div>');";
             $str = ereg_replace("\r","",$str);
             print ($str);
            } else {
             print ("Problemas para leer <br>\n");
            }
           }

          ReadFromFile();
          ?>

          DER INTERNETEXPLORER bringt folgende Fehlermeldung:

          Zeile: 2
          Zeichen: 3253
          Fehler: Nicht abgeschlossene Zeichenfolgenkonstante
          Code: 0

          1. Das ist die KantMenu.php

            Aha, dir ist die Bedeutung der Aussage klar:

            Der PHP Code ist für Javascript Probleme unrelevant, wie sieht der Code, der im Browser ankommt aus?

            Struppi.

            1. Aha, dir ist die Bedeutung der Aussage klar:

              Der PHP Code ist für Javascript Probleme unrelevant, wie sieht der Code, der im Browser ankommt aus?

              function MM_swapImgRestore() { //v3.0
                var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
              }

              function MM_swapImage() { //v3.0
                var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
                 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
              }

              <a href="index.php?main=salon" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image14','','button/salon2.jpg',1)"><img src="button/salon1.jpg" name="Image14" width="157" height="40" border="0"></a></td>
                      </tr>
                      <tr><td><script language="JavaScript" src="/js/KantMenu.php"></script>

              1. Aha, dir ist die Bedeutung der Aussage klar:

                Der PHP Code ist für Javascript Probleme unrelevant, wie sieht der Code, der im Browser ankommt aus?

                function MM_swapImgRestore() { //v3.0
                  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
                }

                function MM_swapImage() { //v3.0
                  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
                   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
                }

                <a href="index.php?main=salon" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image14','','button/salon2.jpg',1)"><img src="button/salon1.jpg" name="Image14" width="157" height="40" border="0"></a></td>
                        </tr>
                        <tr><td><script language="JavaScript" src="/js/KantMenu.php"></script>

                Der Code ist völlig i.O., ich sehe keinen Fehler.
                Ich nehme an, wenn die Fehlermeldung zeigt auch nicht auf eine von denen Zeilen? Oder wenn ja, auf welche?

                Übrigens, du möchtest Hilfe. Insofern wäre es für dich nützlich uns Informationen zu zeigen die wir brauchen, gerne auch eine Beispielseite, damit man sich das Problem anschauen und nachvollziehen kann. Irgendwas kommentarlos hinzurotzen, mag für dich bequem sein, macht es aber schwierig dir zu helfen, falls du das überhaupt willst.

                Struppi.

                1. Übrigens, du möchtest Hilfe. Insofern wäre es für dich nützlich uns Informationen zu zeigen die wir brauchen, gerne auch eine Beispielseite, damit man sich das Problem anschauen und nachvollziehen kann. Irgendwas kommentarlos hinzurotzen, mag für dich bequem sein, macht es aber schwierig dir zu helfen, falls du das überhaupt willst.

                  Die Frage ist ob du so eine Seite besuchen möchtest ;-)

                  Firefox bringt mir folgende Fehlermeldung:

                  unterminated string literal

                  Zeile 1 im File KantMenu.php welche ich vorhin gepostet habe

                  1. Mahlzeit,

                    Firefox bringt mir folgende Fehlermeldung:

                    unterminated string literal

                    Zeile 1 im File KantMenu.php welche ich vorhin gepostet habe

                    Nein. In Zeile 1 dessen, was das Skript KantMenu.php ausgibt - also im erzeugten HTML-Code (der ja wiederum nur aus einer einzigen JavaScript-Anweisung besteht ... Spaghetti-Code FTW!).

                    Unter E[x]tras - Fe[h]ler-Konsole findest Du übrigens im Firefox detailliertere Informationen ...

                    MfG,
                    EKKi

                    --
                    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                    1. Firefox bringt folgendes:

                      document.write('<LINK href="css/style.css" type="text/css" rel="stylesheet"><script language="JavaScript" src="js/javascript.js"></script>&nbsp;<img src="wappen/kt-ag.gif" width="10" height="10">&nbsp;<font class="count_kant">[01] </font><a href="#" "return true;" onclick="javascript:more('1234001'); window.open('NEU kanton/aargau/kanton_aargau/kantonaargau.php','artFrame'); return false;" target="artFrame"><font class="link_kant"><strong>Aargau</strong></font>&nbsp;&nbsp;</a>

                      usw..');

                      1. Mahlzeit,

                        Firefox bringt folgendes:

                        document.write('<LINK href="css/style.css" type="text/css" rel="stylesheet"><script language="JavaScript" src="js/javascript.js"></script>&nbsp;<img src="wappen/kt-ag.gif" width="10" height="10">&nbsp;<font class="count_kant">[01] </font><a href="#" "return true;" onclick="javascript:more('1234001'); window.open('NEU kanton/aargau/kanton_aargau/kantonaargau.php','artFrame'); return false;" target="artFrame"><font class="link_kant"><strong>Aargau</strong></font>&nbsp;&nbsp;</a>

                        usw..');

                        *seufz*

                        Du hast es anscheinend immer noch nicht verstanden ... genau das, was du mit "usw.." also unwichtig abtust, ist das, was den Fehler verursacht. IRGENDWO inmitten dieses unübersichtlichen und IMHO viel zu langen Zeichengewusels befindet sich anscheinend ein einzelnes ' (ohne escapendes \ davor), das das äußere "document.write" aus dem Tritt bringt.

                        Achja, wo ich grad am Mäkeln bin: meinst Du, bei "NEU kanton/aargau/kanton_aargau/kantonaargau.php" handelt es sich um eine gültige URL?

                        MfG,
                        EKKi

                        --
                        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                  2. Übrigens, du möchtest Hilfe. Insofern wäre es für dich nützlich uns Informationen zu zeigen die wir brauchen, gerne auch eine Beispielseite, damit man sich das Problem anschauen und nachvollziehen kann. Irgendwas kommentarlos hinzurotzen, mag für dich bequem sein, macht es aber schwierig dir zu helfen, falls du das überhaupt willst.

                    Die Frage ist ob du so eine Seite besuchen möchtest ;-)

                    Nein, ich möchte deine Frage beantworten und will nur eine Seite sehen, die den von dir beschriebenen Fehler erzeugt. D.h. du könntest z.b. alles bis auf die Stelle, die den Fehler erzeugt reduzieren.

                    Firefox bringt mir folgende Fehlermeldung:

                    unterminated string literal

                    Zeile 1 im File KantMenu.php welche ich vorhin gepostet habe

                    Ich geb's auf. Du verstehst nicht und willst dir nicht helfen lassen.

                    Struppi.

          2. Mahlzeit,

            Das ist die KantMenu.php

            OMG ... eine PHP-Datei, die aus nix außer EINER Funktion besteht, die als Rückgabe EINEN JavaScript-Funktionsaufruf liefert, der in das aktuelle Dokument ein bisschen HTML (inkl. CSS-Anweisungen und dem Verweis zu noch mehr Javascript) und haufenweise IRGENDWAS aus einer .txt-Datei, garniert mit noch mehr HTML, schreibt ... sag mal - weißt Du überhaupt, was du machst?

            Und bist Du dir sicher, dass in diesem ganzen Gewusel nicht IRGENDWO ein ' zu viel vorkommt, was dann das äußere "document.write" auf die Schnauze fallen lässt (denn genau das wäre z.B. eine "nicht abgeschlossene Zeichenfolgekonstante")?

            Mein Vorschlag: strukturiere Deinen Code vollkommen neu, trenne insbesondere PHP, HTML und JavaScript so gut es geht voneinander und vor allem verwende BITTE zum Entwickeln und Debuggen einen vernünftigen Browser - wie ich schon schrieb, sind IE-"Fehlermeldungen" wie die folgende absolut unbrauchbar und verdienen eigentlich diese Bezeichnung gar nicht:

            DER INTERNETEXPLORER bringt folgende Fehlermeldung:

            Zeile: 2
            Zeichen: 3253
            Fehler: Nicht abgeschlossene Zeichenfolgenkonstante
            Code: 0

            Oder glaubst Du ernsthaft, dass jetzt IRGENDJEMAND schlauer ist als vorher?

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Mahlzeit,

    Habe ein Problem mit meinem Javascript.. ein sogenanntes Klappfenster...

    Was ist ein "Klappfenster"?

    Nicht abgeschlossene Zeichenfolgenkonstante

    ????

    Das heißt, dass du irgendwo Probleme mit einfachen und/oder doppelten Anführungszeichen hast.

    im index.php:

    if($main == "salon")
    {
    echo "<tr><td><script language="JavaScript" src="js/KantMenu.php"></script></td></tr>";
    }

      
    - Wieso postest Du PHP-Code, wenn doch ein Fehler im Javascript-Code auftritt?  
      
    - Wieso zeigst Du uns nicht stattdessen den Code, der in der Datei "KantMenu.php" enthalten ist?  
      
    - Wieso hat eine Datei, die Javascript enthält, bei Dir überhaupt die Endung ".php"?  
      
    - Und wieso benutzt Du keinen vernünftigen Browser mit anständiger Javascript-Fehlerkonsole (wo Du genau die Stelle sehen würdest, wo der Fehler passiert ... der IE ist - ohne Developer Toolbar o.ä. - nicht sehr auskunftsfreudig und absolut KEINE Hilfe bei der Entwicklung von Javascript)?  
      
    Fragen über Fragen ...  
      
      
    MfG,  
    EKKi  
    
    -- 
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|