e7: Syntaxfehler oder so

Hi,

hab mich gerade hingesetzt, ein kurzes JavaScript zu schreiben (wird irgendwann mal programmgesteuert generiert und per FTP auf Webspace übertragen), hab aber leider nicht allzu viel Ahnung von der Sprache... Von daher die Frage: Wo ist hier ein Syntaxfehler? Da er überall sein kann, ist es auch nicht sonderlich sinnvoll, tausende von Seiten zu JavaScript zu lesen... Schon mal vielen Dank im Voraus.

E7

-------------------------------------------------------
<script language="JavaScript" type="text/javascript">
function ausgeben() {
 var a;
 var b;
 a[0][1] = "http://www.web.de";
 a[0][2] = "Web.de";
 a[0][3] = "Emails etc.";
 a[1][1] = "http://www.uga-agga.de";
 a[1][2] = "Uga Agga";
 a[1][3] = "Onlinegame";
 a[2][1] = "http://www.mozilla.org";
 a[2][2] = "Mozilla";
 a[2][3] = "Moderner Webbrowser";
 for (b = 0; b < count(a), b++) {
  document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");
 }
}
</script>

  1. abend,

    Hi,

    hab mich gerade hingesetzt, ein kurzes JavaScript zu schreiben (wird irgendwann mal programmgesteuert generiert und per FTP auf Webspace übertragen), hab aber leider nicht allzu viel Ahnung von der Sprache... Von daher die Frage: Wo ist hier ein Syntaxfehler? Da er überall sein kann, ist es auch nicht sonderlich sinnvoll, tausende von Seiten zu JavaScript zu lesen... Schon mal vielen Dank im Voraus.

    E7


    <script language="JavaScript" type="text/javascript">
    function ausgeben() {
     var a;
     var b;
     a[0][1] = "http://www.web.de";
     a[0][2] = "Web.de";
     a[0][3] = "Emails etc.";
     a[1][1] = "http://www.uga-agga.de";
     a[1][2] = "Uga Agga";
     a[1][3] = "Onlinegame";
     a[2][1] = "http://www.mozilla.org";
     a[2][2] = "Mozilla";
     a[2][3] = "Moderner Webbrowser";
     for (b = 0; b < count(a), b++) {
      document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");

    ---------------------------------------------^ = </b>
    prinzipiell müssen in javascript bei der ausgabe die slashes der
    schließenden tags escaped werden...

    HopeItHelped

    mfg,
    (tanz das)
    Z.N.S.

    --
    <img src="http://www.dmp-web.de/comunicout/neubauten.gif" border="0" alt="">
  2. Hi,

    hab mich gerade hingesetzt, ein kurzes JavaScript zu schreiben (wird irgendwann mal programmgesteuert generiert und per FTP auf Webspace übertragen), hab aber leider nicht allzu viel Ahnung von der Sprache... Von daher die Frage: Wo ist hier ein Syntaxfehler?

    Syntaxfehler sollte Dir Dein Browser melden.

    Ich seh vor allem einen Logikfehler:

    a[0][1] = "http://www.web.de";
    a[0][2] = "Web.de";
    a[0][3] = "Emails etc.";

    hier werden die Elemente a[x][1] bis a[x][3] gefüllt.

    document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");

    aber hier werden die Elemente a[x][0] bis a[x][2] ausgelesen.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
  3. Hi e7,

    (b = 0; b < count(a), b++)

    muss

    (b = 0; b < count(a); b++)

    sein.

    1. Hi,

      erst mal danke an euch drei, hab eure Meldungen mal im Script verarbeitet. Dennoch zeigt mir weder der IE noch Mozilla eine Fehlermeldung an...

      E7

      --- Aktuelles Script ---

      <html>
      <head>
      <title>Test</title>
      <script language="JavaScript" type="text/javascript">
      function nachrichten() {
       var a;
       var b;
       a[0][0] = "http://www.web.de";
       a[0][1] = "Web.de";
       a[0][2] = "Emails etc.";
       a[1][0] = "http://www.uga-agga.de";
       a[1][1] = "Uga Agga";
       a[1][2] = "Onlinegame";
       a[2][0] = "http://www.mozilla.org";
       a[2][1] = "Mozilla";
       a[2][2] = "Moderner Webbrowser";
       for (b = 0; b < count(a); b++) {
        document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");
       }
      }
      </script>
      </head>
      <body onLoad="nachrichten">
      <p>TestAbsatz</p>
      </body>
      </html>

      1. Hi e7,

        durch Dein Script steige ich nicht so recht durch, wie auch immer:

        <body onLoad="nachrichten">

        Klammern müssen schon sein:

        <body onLoad="nachrichten()">

        1. Hi,

          habe das Script mal bzgl. der Klammern verbessert, funktioniert immer noch nicht, hab's auch mal mit der Version versucht, die Arrays vorher zu erzeugen - funktioniert leider auch nicht

          durch Dein Script steige ich nicht so recht durch

          Ganz einfach: Das Script hat die Array's zur Verfügung (URL, Titel, Kurztext) und soll diese der Reihenfolge nach ausgeben...

          E7

          ---- Erweiterung des Scriptes ----

          function nachrichten() {
           var a;
           var b;
           a = new array(0, 0, 0);
           for (b = 0; b < count(a); b++) {
            a[b] = new array(0, 0, 0);
           }

          1. Hallo e7,

            for (b = 0; b < count(a); b++) {

            Vielleicht liegt es ja an der Funktion count(), deren Quelltext Du uns nicht verrätst. Warum verwendest Du nicht die Eigenschaft length?

            Grüße
            Andreas

            --
            "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
            (Rich Cook)
            1. Hi,

              Vielleicht liegt es ja an der Funktion count(), deren Quelltext Du uns nicht verrätst. Warum verwendest Du nicht die Eigenschaft length?

              count() ist die Funktion von PHP. Hab gedacht, dass es in JavaScript die gleiche ist... Läuft aber immer noch nicht.

              E7

              ------------------------------

              <html>
              <head>
              <title>Test</title>
              <script language="JavaScript" type="text/javascript">
              function nachrichten() {
               var a;
               var b;
               a = new array(0, 0, 0);
               for (b = 0; b < a.length; b++) {
                a[b] = new array(0, 0, 0);
               }
               a[0][0] = "http://www.web.de";
               a[0][1] = "Web.de";
               a[0][2] = "Emails etc.";
               a[1][0] = "http://www.uga-agga.de";
               a[1][1] = "Uga Agga";
               a[1][2] = "Onlinegame";
               a[2][0] = "http://www.mozilla.org";
               a[2][1] = "Mozilla";
               a[2][2] = "Moderner Webbrowser";
               for (b = 0; b < count(a); b++) {
                document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");
               }
              }
              </script>
              </head>
              <body onLoad="nachrichten()">
              <p>TestAbsatz</p>
              </body>
              </html>

              1. hi,

                count() ist die Funktion von PHP. Hab gedacht, dass es in JavaScript die gleiche ist...

                das klingt so, als ob du jetzt eingesehen hättest, dass es in javascript bei arrays keine methode count() gibt.

                Läuft aber immer noch nicht.

                da steht ja auch immer noch count:

                for (b = 0; b < count(a); b++) {

                gruss,
                wahsaga

                1. Hi,

                  da steht ja auch immer noch count:

                  for (b = 0; b < count(a); b++) {

                  oh, Fehler von mir. In der Datei steht schon a.length. Funktioniert aber immer noch nicht :-(

                  E7

                  --------------------- Neue Version -----------------

                  <html>
                  <head>
                  <title>Test</title>
                  <script language="JavaScript" type="text/javascript">
                  function nachrichten() {
                   var a;
                   var b;
                   a = new array(0, 0, 0);
                   for (b = 0; b < a.length; b++) {
                    a[b] = new array(0, 0, 0);
                   }
                   a[0][0] = "http://www.web.de";
                   a[0][1] = "Web.de";
                   a[0][2] = "Emails etc.";
                   a[1][0] = "http://www.uga-agga.de";
                   a[1][1] = "Uga Agga";
                   a[1][2] = "Onlinegame";
                   a[2][0] = "http://www.mozilla.org";
                   a[2][1] = "Mozilla";
                   a[2][2] = "Moderner Webbrowser";
                   for (b = 0; b < count(a); b++) {
                    document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");
                   }
                  }
                  </script>
                  </head>
                  <body onLoad="nachrichten()">
                  <p>TestAbsatz</p>
                  </body>
                  </html>

                  1. Hi,

                    noch was: Hab's mal wieder durch den IE geschickt, er meint, dass 'array' undefiniert ist... Nanu?

                    VON MIR: a = new array(0, 0, 0);
                    AUS SELFHTML: Zahlen = new Array(34,86,167,413);

                    E7

                    1. Hallo e7,

                      Hallo e7,

                      VON MIR: a = new array(0, 0, 0);
                      AUS SELFHTML: Zahlen = new Array(34,86,167,413);

                      array != Array

                      Grüße
                      Andreas

                      PS. In der zweiten Schleife steht immer noch count.

                      --
                      "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
                      (Rich Cook)
                      1. Hi,

                        ok, jetzt funktioniert's. Vielen Dank an alle, die mitgeholfen haben...

                        E7

                        -------------- Fertiges Script ------------

                        <html>
                        <head>
                        <title>Test</title>
                        <script language="JavaScript" type="text/javascript">
                        function nachrichten() {
                         var a;
                         var b;
                         a = new Array(0,0,0);
                         for (b = 0; b < a.length; b++) {
                          a[b] = new Array(0,0,0);
                         }
                         a[0][0] = "http://www.web.de";
                         a[0][1] = "Web.de";
                         a[0][2] = "Emails etc.";
                         a[1][0] = "http://www.uga-agga.de";
                         a[1][1] = "Uga Agga";
                         a[1][2] = "Onlinegame";
                         a[2][0] = "http://www.mozilla.org";
                         a[2][1] = "Mozilla";
                         a[2][2] = "Moderner Webbrowser";
                         for (b = 0; b < a.length; b++) {
                          document.write("<p><b>" + a[b][0] + ": </b>" + a[b][1] + "<br>" + a[b][2] + "</p>\n");
                         }
                        }
                        </script>
                        </head>
                        <body onLoad="nachrichten()">
                        <p>TestAbsatz</p>
                        </body>
                        </html>