Thomas Tscherpel: IExplorer funktioniert - Netscape nicht

Hallo,

folgende Zeile verwende ich,um ein Formularfeld in einer neuen Datei zu erzeugen, das bei Änderung die Routine WriteSuche aufruft.

writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");

Damit auch diese Routine zur Verfügung steht, habe ich im Header einen Verweis auf eine Java-Script-Datei eingefügt:

writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");

Dass ich das auf diese Weise machen will, hat seine Gründe. Hab schon ziemlich viel anderes probiert, das mich jedoch im blick auf Funktionalität und Kompatibilität nicht zufriedenstellte.

Problem: Im Internet-Explorer 5.5 funktioniert es tadellos. In Netscape 4.75 funktioniert onChange nicht. In Netscape 6 reagiert das Programm auf gar nichts.

Bye

  1. hi!

    vielleicht kannst du eine URL dazu posten?
    ich glaube die 2 zeilen code sagen nicht viel aus.

    Ad Hoc

    1. Gerne. Das Ursprungsdokument hat den folgenden HTML-Text:

      <html>
      <head>
      <title>Untitled Document</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <link rel="stylesheet" href="styles/styles.css">

      <!-- Laden der Logik -->
      <script language="JavaScript1.1" src="wfinden2.js"></script>

      </head>

      <body bgcolor="#FFFFFF">
      <img src="fueller_s.gif" width="135" height="1">
      <form name="form1">
        <select name="select1" class="Menue" onChange="WriteSuche('parent.frames['Suche02']',this)" size="6">
          <option value="0" selected>Stühle</option>
          <option value="1">Sessel</option>
          <option value="2">Tische</option>
          <option value="3">Rednerpulte</option>
          <option value="4">Transporthilfen</option>
          <option value="5">Stoffe</option>
        </select>
      </form>
      </body>
      </html>

      Das funktioniert bei Netscape.
      Durch die Routine WriteSuche wird jedoch in ein zweites Frame ein zweites Listenfeld eingefügt, das dieselbe Struktur hat wie das erste. Da es über eine externe Datei läuft, habe ich die Syntax wie folgt geändert:

      function WriteSuche(targ,selObj){ //v3.0

      var OUTPUTFRAME = parent.frames['Suche02'];
      var OUTPUT = OUTPUTFRAME.document.open("text/html");

      with ( OUTPUT )
       {
       writeln("<html>");
       writeln("<head>");
       writeln("<title>");
       writeln("</title>");

      writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");
       writeln("<!--");
       writeln("//-->");
       writeln("</script>");

      writeln("<link rel="stylesheet" href="styles/styles.css">");
       writeln("</head>");
       writeln("<body>");
       writeln("<img src="fueller_s.gif" width="135" height="1">");
       writeln("<form name="form1">");

      switch(selObj.options.selectedIndex)
       {
       case 0:
        writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");
        writeln("<option value='0' selected>alle</option>");
        writeln("<option value='1'>Holzgestell</option>");
        writeln("<option value='2'>Schichtholzgestell</option>");
        writeln("<option value='3'>Stahlrohrgestell</option>");
        writeln("<option value='4'>Klappgestell</option>");
        writeln("</select>");
        writeln("</form>");
        writeln("</body>");
        writeln("</html>");
       break;
       default:
       break;
       }
      }

      Es gibt keine Fehlermeldungen. Nur reagiert Netscape nicht auf onChange, das per writeln in ein Dokument geschrieben wurde.

      1. Gerne. Das Ursprungsdokument hat den folgenden HTML-Text:

        <html>
        <head>
        <title>Untitled Document</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" href="styles/styles.css">

        <!-- Laden der Logik -->
        <script language="JavaScript1.1" src="wfinden2.js"></script>

        </head>

        <body bgcolor="#FFFFFF">
        <img src="fueller_s.gif" width="135" height="1">
        <form name="form1">
          <select name="select1" class="Menue" onChange="WriteSuche('parent.frames['Suche02']',this)" size="6">
            <option value="0" selected>Stühle</option>
            <option value="1">Sessel</option>
            <option value="2">Tische</option>
            <option value="3">Rednerpulte</option>
            <option value="4">Transporthilfen</option>
            <option value="5">Stoffe</option>
          </select>
        </form>
        </body>
        </html>

        Das funktioniert bei Netscape.
        Durch die Routine WriteSuche wird jedoch in ein zweites Frame ein zweites Listenfeld eingefügt, das dieselbe Struktur hat wie das erste. Da es über eine externe Datei läuft, habe ich die Syntax wie folgt geändert:

        function WriteSuche(targ,selObj){ //v3.0

        var OUTPUTFRAME = parent.frames['Suche02'];
        var OUTPUT = OUTPUTFRAME.document.open("text/html");

        with ( OUTPUT )
        {
        writeln("<html>");
        writeln("<head>");
        writeln("<title>");
        writeln("</title>");

        writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");
        writeln("<!--");
        writeln("//-->");
        writeln("</script>");

        writeln("<link rel="stylesheet" href="styles/styles.css">");
        writeln("</head>");
        writeln("<body>");
        writeln("<img src="fueller_s.gif" width="135" height="1">");
        writeln("<form name="form1">");

        switch(selObj.options.selectedIndex)
        {
        case 0:
          writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");
          writeln("<option value='0' selected>alle</option>");
          writeln("<option value='1'>Holzgestell</option>");
          writeln("<option value='2'>Schichtholzgestell</option>");
          writeln("<option value='3'>Stahlrohrgestell</option>");
          writeln("<option value='4'>Klappgestell</option>");
          writeln("</select>");
          writeln("</form>");
          writeln("</body>");
          writeln("</html>");
        break;
        default:
        break;
        }
        }

        Es gibt keine Fehlermeldungen. Nur reagiert Netscape nicht auf onChange, das per writeln in ein Dokument geschrieben wurde.

        Aloa,

        tja, leider unterstützt NS OnChange offiziell nur im A Href und noch ein paar TAGs, die ich vergessen hab.
        OnMouseover etc. werden von NS dann ignoriert.
        http://www.teamone.de/selfhtml/tebj.htm#a4
        schau mal rein. Dort siehst du, dass NS weitweniger TAGs unterstützt indenen du On.....sonstwas formulieren kannst.
        Das ist schon beknackt. Hier und da tolleriert NS ein On..sonstwas, halt nicht immer und nicht nachvollziehbar.
        Was auf jedenfall geht, sind die offiziell angegeben TAGs.

        Na, das wird dir wohl nicht wirklich helfen!.

        Grüsse
        -Adam

        1. Gerne. Das Ursprungsdokument hat den folgenden HTML-Text:

          <html>
          <head>
          <title>Untitled Document</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          <link rel="stylesheet" href="styles/styles.css">

          <!-- Laden der Logik -->
          <script language="JavaScript1.1" src="wfinden2.js"></script>

          </head>

          <body bgcolor="#FFFFFF">
          <img src="fueller_s.gif" width="135" height="1">
          <form name="form1">
            <select name="select1" class="Menue" onChange="WriteSuche('parent.frames['Suche02']',this)" size="6">
              <option value="0" selected>Stühle</option>
              <option value="1">Sessel</option>
              <option value="2">Tische</option>
              <option value="3">Rednerpulte</option>
              <option value="4">Transporthilfen</option>
              <option value="5">Stoffe</option>
            </select>
          </form>
          </body>
          </html>

          Das funktioniert bei Netscape.
          Durch die Routine WriteSuche wird jedoch in ein zweites Frame ein zweites Listenfeld eingefügt, das dieselbe Struktur hat wie das erste. Da es über eine externe Datei läuft, habe ich die Syntax wie folgt geändert:

          function WriteSuche(targ,selObj){ //v3.0

          var OUTPUTFRAME = parent.frames['Suche02'];
          var OUTPUT = OUTPUTFRAME.document.open("text/html");

          with ( OUTPUT )
          {
          writeln("<html>");
          writeln("<head>");
          writeln("<title>");
          writeln("</title>");

          writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");
          writeln("<!--");
          writeln("//-->");
          writeln("</script>");

          writeln("<link rel="stylesheet" href="styles/styles.css">");
          writeln("</head>");
          writeln("<body>");
          writeln("<img src="fueller_s.gif" width="135" height="1">");
          writeln("<form name="form1">");

          switch(selObj.options.selectedIndex)
          {
          case 0:
            writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");
            writeln("<option value='0' selected>alle</option>");
            writeln("<option value='1'>Holzgestell</option>");
            writeln("<option value='2'>Schichtholzgestell</option>");
            writeln("<option value='3'>Stahlrohrgestell</option>");
            writeln("<option value='4'>Klappgestell</option>");
            writeln("</select>");
            writeln("</form>");
            writeln("</body>");
            writeln("</html>");
          break;
          default:
          break;
          }
          }

          Es gibt keine Fehlermeldungen. Nur reagiert Netscape nicht auf onChange, das per writeln in ein Dokument geschrieben wurde.

          Aloa,

          tja, leider unterstützt NS OnChange offiziell nur im A Href und noch ein paar TAGs, die ich vergessen hab.
          OnMouseover etc. werden von NS dann ignoriert.
          http://www.teamone.de/selfhtml/tebj.htm#a4
          schau mal rein. Dort siehst du, dass NS weitweniger TAGs unterstützt indenen du On.....sonstwas formulieren kannst.
          Das ist schon beknackt. Hier und da tolleriert NS ein On..sonstwas, halt nicht immer und nicht nachvollziehbar.
          Was auf jedenfall geht, sind die offiziell angegeben TAGs.

          Na, das wird dir wohl nicht wirklich helfen!.

          Grüsse
          -Adam

          Hallo Adam,

          so etwas hab' ich auch schon vermutet. Danke für Deinen Hinweis. Grüsse. Thomas

        2. Gerne. Das Ursprungsdokument hat den folgenden HTML-Text:

          <html>
          <head>
          <title>Untitled Document</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          <link rel="stylesheet" href="styles/styles.css">

          <!-- Laden der Logik -->
          <script language="JavaScript1.1" src="wfinden2.js"></script>

          </head>

          <body bgcolor="#FFFFFF">
          <img src="fueller_s.gif" width="135" height="1">
          <form name="form1">
            <select name="select1" class="Menue" onChange="WriteSuche('parent.frames['Suche02']',this)" size="6">
              <option value="0" selected>Stühle</option>
              <option value="1">Sessel</option>
              <option value="2">Tische</option>
              <option value="3">Rednerpulte</option>
              <option value="4">Transporthilfen</option>
              <option value="5">Stoffe</option>
            </select>
          </form>
          </body>
          </html>

          Das funktioniert bei Netscape.
          Durch die Routine WriteSuche wird jedoch in ein zweites Frame ein zweites Listenfeld eingefügt, das dieselbe Struktur hat wie das erste. Da es über eine externe Datei läuft, habe ich die Syntax wie folgt geändert:

          function WriteSuche(targ,selObj){ //v3.0

          var OUTPUTFRAME = parent.frames['Suche02'];
          var OUTPUT = OUTPUTFRAME.document.open("text/html");

          with ( OUTPUT )
          {
          writeln("<html>");
          writeln("<head>");
          writeln("<title>");
          writeln("</title>");

          writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");
          writeln("<!--");
          writeln("//-->");
          writeln("</script>");

          writeln("<link rel="stylesheet" href="styles/styles.css">");
          writeln("</head>");
          writeln("<body>");
          writeln("<img src="fueller_s.gif" width="135" height="1">");
          writeln("<form name="form1">");

          switch(selObj.options.selectedIndex)
          {
          case 0:
            writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");
            writeln("<option value='0' selected>alle</option>");
            writeln("<option value='1'>Holzgestell</option>");
            writeln("<option value='2'>Schichtholzgestell</option>");
            writeln("<option value='3'>Stahlrohrgestell</option>");
            writeln("<option value='4'>Klappgestell</option>");
            writeln("</select>");
            writeln("</form>");
            writeln("</body>");
            writeln("</html>");
          break;
          default:
          break;
          }
          }

          Es gibt keine Fehlermeldungen. Nur reagiert Netscape nicht auf onChange, das per writeln in ein Dokument geschrieben wurde.

          Aloa,

          tja, leider unterstützt NS OnChange offiziell nur im A Href und noch ein paar TAGs, die ich vergessen hab.
          OnMouseover etc. werden von NS dann ignoriert.
          http://www.teamone.de/selfhtml/tebj.htm#a4
          schau mal rein. Dort siehst du, dass NS weitweniger TAGs unterstützt indenen du On.....sonstwas formulieren kannst.
          Das ist schon beknackt. Hier und da tolleriert NS ein On..sonstwas, halt nicht immer und nicht nachvollziehbar.
          Was auf jedenfall geht, sind die offiziell angegeben TAGs.

          Na, das wird dir wohl nicht wirklich helfen!.

          Grüsse
          -Adam

          Hallo Adam, hier noch ein PS:

          Ich verstehe nur nicht, warum es dann in der Datei funktioniert, die bereits existiert und nur nicht bei der, die per writeln zusammengebaut wird.

          Bye

          1. Gerne. Das Ursprungsdokument hat den folgenden HTML-Text:

            <html>
            <head>
            <title>Untitled Document</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <link rel="stylesheet" href="styles/styles.css">

            <!-- Laden der Logik -->
            <script language="JavaScript1.1" src="wfinden2.js"></script>

            </head>

            <body bgcolor="#FFFFFF">
            <img src="fueller_s.gif" width="135" height="1">
            <form name="form1">
              <select name="select1" class="Menue" onChange="WriteSuche('parent.frames['Suche02']',this)" size="6">
                <option value="0" selected>Stühle</option>
                <option value="1">Sessel</option>
                <option value="2">Tische</option>
                <option value="3">Rednerpulte</option>
                <option value="4">Transporthilfen</option>
                <option value="5">Stoffe</option>
              </select>
            </form>
            </body>
            </html>

            Das funktioniert bei Netscape.
            Durch die Routine WriteSuche wird jedoch in ein zweites Frame ein zweites Listenfeld eingefügt, das dieselbe Struktur hat wie das erste. Da es über eine externe Datei läuft, habe ich die Syntax wie folgt geändert:

            function WriteSuche(targ,selObj){ //v3.0

            var OUTPUTFRAME = parent.frames['Suche02'];
            var OUTPUT = OUTPUTFRAME.document.open("text/html");

            with ( OUTPUT )
            {
            writeln("<html>");
            writeln("<head>");
            writeln("<title>");
            writeln("</title>");

            writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");
            writeln("<!--");
            writeln("//-->");
            writeln("</script>");

            writeln("<link rel="stylesheet" href="styles/styles.css">");
            writeln("</head>");
            writeln("<body>");
            writeln("<img src="fueller_s.gif" width="135" height="1">");
            writeln("<form name="form1">");

            switch(selObj.options.selectedIndex)
            {
            case 0:
              writeln("<select name="select1" class="Menue" onChange="WriteSuche('parent.frames[\'Suche03\']',this)" size="5">");
              writeln("<option value='0' selected>alle</option>");
              writeln("<option value='1'>Holzgestell</option>");
              writeln("<option value='2'>Schichtholzgestell</option>");
              writeln("<option value='3'>Stahlrohrgestell</option>");
              writeln("<option value='4'>Klappgestell</option>");
              writeln("</select>");
              writeln("</form>");
              writeln("</body>");
              writeln("</html>");
            break;
            default:
            break;
            }
            }

            Es gibt keine Fehlermeldungen. Nur reagiert Netscape nicht auf onChange, das per writeln in ein Dokument geschrieben wurde.

            Aloa,

            tja, leider unterstützt NS OnChange offiziell nur im A Href und noch ein paar TAGs, die ich vergessen hab.
            OnMouseover etc. werden von NS dann ignoriert.
            http://www.teamone.de/selfhtml/tebj.htm#a4
            schau mal rein. Dort siehst du, dass NS weitweniger TAGs unterstützt indenen du On.....sonstwas formulieren kannst.
            Das ist schon beknackt. Hier und da tolleriert NS ein On..sonstwas, halt nicht immer und nicht nachvollziehbar.
            Was auf jedenfall geht, sind die offiziell angegeben TAGs.

            Na, das wird dir wohl nicht wirklich helfen!.

            Grüsse
            -Adam

            Hallo Adam, hier noch ein PS:

            Ich verstehe nur nicht, warum es dann in der Datei funktioniert, die bereits existiert und nur nicht bei der, die per writeln zusammengebaut wird.

            Bye

            Das sind die tiefen von NS und verstehen tu ich das auch nicht!?!.

        3. Hi,

          tja, leider unterstützt NS OnChange offiziell nur im A Href und noch ein paar TAGs, die ich vergessen hab.

          onChange existiert in <select>. Und könntet ihr beide euch bitte angewöhnen, sinnvoll zu quoten? Dazu gehört insbesondere, alles das zu löschen, worauf ihr euch nicht mehr bezieht. Danke.

          Cheatah

          1. hi.

            Und könntet ihr beide euch bitte angewöhnen, sinnvoll zu quoten?

            ja, das würde einiges erleichtern und zudem noch etwas speicher sparen...

            cheatah, ich frag mich gerade, warum _du_ _nicht_ darauf hingewiesen hast, dass "on....irgendwas" (oder ums richtig auszudrücken: event-handler) keine tags sind... ;o) hätte ich jetzt beinahe schon erwartet, komischerweise war dem nicht so. hattest du wegen des wetters keine lust, dich drüber aufzuregen? ;o)

            hau rein,
            wizz99[.de]

            ps: hab vorhin meine klasse-B-theorie-prüfung mit 0 fehlern bestanden und freu mich irgendwie extrem *freu* ;o)

            1. sup,

              und dennoch sollte es möglich sein, dem Problem Herr zu werden.
              Es wird sich doczh wohl sicherlich ein event finden, daß onchange
              repräsentiert im Netscape sonst könnten sie sich ja die select felder auch spahren... Also irgendwie wirst du deinen Methodenaufruf
              sicher auch im Netscape unterbringen können.

              viel erfolg

              Christian

              1. hi

                sicher auch im Netscape unterbringen können.

                http://teamone.de/selfhtml/tebj.htm#a4. netscape kennt den event-handler onChange im select-bereich. ab version 2 sogar. also ist irgendetwas an deinem code falsch. ich hab deinen code mal rauskopiert und auf meiner festplatte ausgeführt, aber in dem neuen fenster/frame (ich habs bei mir so gemacht, dass das nich in irgendnen frame geschrieben wird sondern in ein neues fenster) tut sich (fast) gar nichts. da steht n bisschen was im quelltext, das ganze hört aber an der stelle auf, an der <form name="form1"> oder so steht. dahinter kommt nichts mehr. von daher ist die seite sowieso falsch, weil ausleitende tags und das dateiende fehlen. der explorer zeigt mir übrigens nichts von der generierten seite an, man sieht nur nen weißen bg und im quelltext dann etwas code.

                ich denke, dass du nen fehler bei diesem switch-kram usw hast. netscape kann onChange und der IE sollte die seite normalerweise darstellen. tut er aber nicht.

                hau rein,
                wizz99.de

            2. hi.

              Hi witz99,

              Und könntet ihr beide euch bitte angewöhnen, sinnvoll zu quoten?

              Na klar, hab halt keine Übung so wie Ihr!!.

              ja, das würde einiges erleichtern und zudem noch etwas speicher sparen...

              Da bist du aber ein schlechtes Vorbild mit deinen überflüssigen bla bla Text!!.

              cheatah, ich frag mich gerade, warum _du_ _nicht_ darauf hingewiesen hast, dass "on....irgendwas" (oder ums richtig auszudrücken: event-handler) keine tags sind... ;o) hätte ich jetzt beinahe schon erwartet, komischerweise war dem nicht so. hattest du wegen des wetters keine lust, dich drüber aufzuregen? ;o)

              Tja, in keinem Wort hab ich erwähnt, dass on...sonstwas ein Tag wäre, sondern das diese in Tags formuliert werden!. Lies es dir nochmal durch. cheatah hat es wohl im gegensatz zu dir verstanden!!.
              Mit on..sonstwas weiss sofort jeder was gemeint ist, im gegesatz zum Event-handler Ausdruck.

              hau rein,
              wizz99[.de]

              ps: hab vorhin meine klasse-B-theorie-prüfung mit 0 fehlern bestanden und freu mich irgendwie extrem *freu* ;o)

              John Wehn...

              grüsse an den rest.
              -Adam-

              1. hi.

                Hi witz99,

                war klar, dass jetzt sowas kommen würde. wenns irgendn problem gibt, werden viele menschen immer so unsachlich. was hat mein name jetzt damit zu tun, dass ich mich geirrt habe?

                Na klar, hab halt keine Übung so wie Ihr!!.

                macht ja nichts. deswegen haben wir dir es ja gesagt. das sollte kein besserwissen oder sonstwas in der art sein, es war nur ein gut gemeinter hinweis...

                Da bist du aber ein schlechtes Vorbild mit deinen überflüssigen bla bla Text!!.

                z.b.?

                Tja, in keinem Wort hab ich erwähnt, dass on...sonstwas ein Tag wäre, sondern das diese in Tags formuliert werden!. Lies es dir nochmal durch. cheatah hat es wohl im gegensatz zu dir verstanden!!. Mit on..sonstwas weiss sofort jeder was gemeint ist, im gegesatz zum Event-handler Ausdruck.

                ja, das stimmt wohl. hab mir deinen text nochmals durchgelesen und entschuldige mich, dass ich anscheinend irgendwas falsch verstanden hab. ich will mich nicht rausreden, nein, ich gebs ja zu, aber irgendwie war dein text zumindest teilweise etwas schwer zu verstehen, so dass ich dachte, dass der satz "Was auf jedenfall geht, sind die offiziell angegeben TAGs." sich auf _direkt_ das "on...irgendwas" beziehen würde. das war dann wohl eher weniger der fall. sorry.

                John Wehn...

                wie bitte?

                aber eins noch: wieso eigentlich "!!."?

                grüsse an den rest.
                -Adam-

                hau rein,
                wizz99.de

  2. Hi,

    writeln("<script language="JavaScript" src="wfinden3.js" type="text/javascript">");

    es ist wichtig, wie diese Ausgabe weitergeht.

    In Netscape 4.75 funktioniert onChange nicht.

    "Funktioniert nicht" funktioniert nicht. Problembeschreibung, bitte. Insbesondere Fehlermeldungen.

    Cheatah