Johan: document.write-Text nachträglich (dynamisch) ändern?

Hallo!

Ich suche nach einer Möglichkeit, um Text, der per Javascript mit dem document.write-Befehl eingefügt wurde, dynamisch (in einer anderen Prozedur) zu ändern (und den vorherigen Text auszublenden). Mir fällt nur im Moment keine sinnvolle Lösung ein, die unter den meisten Browsern lauffähig wäre. (Für den IEx gibt es ja was, aber das reicht mir nicht)

Die Idee, das mit Grafiken zu machen, und die, es als Formularfeld zu versuchen, hatte ich schon. Ersteres ist mir nicht flexibel genug, zweites scheidet aus, da der "Text" Teil eines Menüs ist und Hyperlinks beinhaltet.

Habt Ihr Ideen?
Johan

(habe gerade gesehen, daß der Post hier direkt drunter ein ähnliches Thema anspricht)

  1. Hallo,

    http://forum.de.selfhtml.org/archiv/2002/10/27810/#m151146

    Grüße aus Düsseldorf,

    --
    Aleksej
  2. Hallo!

    Ich suche nach einer Möglichkeit, um Text, der per Javascript mit dem document.write-Befehl eingefügt wurde, dynamisch (in einer anderen Prozedur) zu ändern (und den vorherigen Text auszublenden). Mir fällt nur im Moment keine sinnvolle Lösung ein, die unter den meisten Browsern lauffähig wäre. (Für den IEx gibt es ja was, aber das reicht mir nicht)

    Die Idee, das mit Grafiken zu machen, und die, es als Formularfeld zu versuchen, hatte ich schon. Ersteres ist mir nicht flexibel genug, zweites scheidet aus, da der "Text" Teil eines Menüs ist und Hyperlinks beinhaltet.

    Habt Ihr Ideen?
    Johan

    (habe gerade gesehen, daß der Post hier direkt drunter ein ähnliches Thema anspricht)

    Versuch es mal mit
    document.getElementById("information").innerHTML = "neuer Text"; oder
    getElementsByName() -- getElementsByTagName("p")[0]

    vieleicht hilft dir das etwas weiter
    volcona

    1. Versuch es mal mit
      document.getElementById("information").innerHTML = "neuer Text"; oder
      getElementsByName() -- getElementsByTagName("p")[0]

      Danke, aber der getElementsByName scheint irgendwie schon mit meinem IEx ein Problem zu haben. Vermutlich ein Syntaxfehler meinerseits, die Fehlermeldung lautet aber "gelElementsByName - Befehl unbekannt" oder so. Ich probiere mal deinen Code zu adaptieren, dann melde ich mich nochmal.

      viele Grüße
      Johan

      1. Hallo,

        Versuch es mal mit
        document.getElementById("information").innerHTML = "neuer Text"; oder
        getElementsByName() -- getElementsByTagName("p")[0]

        Danke, aber der getElementsByName scheint irgendwie schon mit meinem IEx ein Problem zu haben. Vermutlich ein Syntaxfehler meinerseits, die Fehlermeldung lautet aber "gelElementsByName - Befehl unbekannt" oder so. Ich probiere mal deinen Code zu adaptieren, dann melde ich mich nochmal.

        document.getElementById("information").innerHTML = "neuer Text";
        Ich denk mal, es sollte nur das rein, das andere sind nur weitere möglichkeiten.
        Grüße aus Düsseldorf,

        --
        Aleksej
  3. Hallo!

    Ich suche nach einer Möglichkeit, um Text, der per Javascript mit dem document.write-Befehl eingefügt wurde, dynamisch (in einer anderen Prozedur) zu ändern (und den vorherigen Text auszublenden). Mir fällt nur im Moment keine sinnvolle Lösung ein, die unter den meisten Browsern lauffähig wäre. (Für den IEx gibt es ja was, aber das reicht mir nicht)

    Die Idee, das mit Grafiken zu machen, und die, es als Formularfeld zu versuchen, hatte ich schon. Ersteres ist mir nicht flexibel genug, zweites scheidet aus, da der "Text" Teil eines Menüs ist und Hyperlinks beinhaltet.

    Habt Ihr Ideen?
    Johan

    (habe gerade gesehen, daß der Post hier direkt drunter ein ähnliches Thema anspricht)

    du kannst versuchen ein <DIV..> auszugeben und der Inhalt läßt sich zumindest in NC 4.x, MZ und im IE ändern/bzw. neu beschreiben (NC)

    Struppi.

    1. Habt Ihr Ideen?

      du kannst versuchen ein <DIV..> auszugeben und der Inhalt läßt sich zumindest in NC 4.x, MZ und im IE ändern/bzw. neu beschreiben (NC)

      Das habe ich schon versucht, aber nicht lauffähig gekriegt. Wie würde der Code dafür aussehen bzw. welche Variablen muß ich dafür ansprechen?

      Wenn jemand ein klaubares Beispiel coden könnte, wäre ich sehr, sehr dankbar.

      Viele Grüße
      Johan

      1. Hallo Johan,

        Hier ist ein kleines Script zum nachträglichen Ändern des Inhalts eines divs. Für Netscape 4.x kann ich allerdings nicht garantieren.

        Die function showText() bestimmt zuerst die nächste Id, guckt dann nach, ob der Browser DOM, all oder layers kennt und verzweigt dann zum entsprechenden Code der den Text im "textdiv" ändert.

        Viel Spass beim Rumprobieren.

        Grüße
        Andreas

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

        <html>
        <head>
        <title>Unbenannt</title>
        <script type="text/javascript">
        var info = new Array("Text 1", Text 2", "Text 3");
        var id = -1;
        function showText() {
         if (++id == 3) id = 0;
         var kennt = (document.getElementById) ? 0 : (document.all) ? 1 : (document.layers) ? 2 : -1;
         switch (kennt) {
          case 0:
           document.getElementById("textdiv").firstChild.nodeValue = info[id];
           break;
          case 1:
           document.all.textdiv.innerHTML = info[id];
           break;
          case 2:
           document.textdiv.document.open();
           document.textdiv.document.write(info[id]);
           document.textdiv.document.close();
           break;
          }
        }
        </script>
        </head>

        <body>
        <h2>Hier mußt Du klicken:</h2>
        <form>
        <input type="Button" onclick="showText();" value="Tauschen">
        </form>
        <h2>Hier erscheint der Text:</h2>
        <div id="textdiv"> </div>
        </body>
        </html>