Ploppy: Textfeldinhalt per click auf Button ändern

Ich habe einen informativen Text in einem Textfeld.
Diesen Text möchte ich durch einen anderen Text ersetzen lassen,
nachdem ich einen Button gedrückt habe.
Es soll nicht die ganze Seite neu geladen werden mit sämtlichen Grafiken und so, sondern nur dieser Text ersetzt werden.
Ist das in HTML möglich oder welche Möglichkeiten gibte es, dies zu bewerkstelligen?

Gruß Ploppy

  1. Hallo,

    Ist das in HTML möglich

    Nein.

    oder welche Möglichkeiten gibte es, dies zu bewerkstelligen?

    Dafür brauchst du Javascript. Genauer: einen Eventhandler wie 'onclick'
    um das Drücken des Buttons abzufragen und die value-Eigenschaft
    um den Inhalt des Textfeldes zu verändern (wenn das ein Formularelement ist).
    Wenn es kein Formularelement ist, wäre wohl innerHTML die einfachste Lösung.

    Gruß, Jan

  2. hi,

    Es soll nicht die ganze Seite neu geladen werden mit sämtlichen Grafiken und so, sondern nur dieser Text ersetzt werden.
    Ist das in HTML möglich

    eigentlich nein.

    oder welche Möglichkeiten gibte es, dies zu bewerkstelligen?

    frames oder iframes wären eine möglichkeit, in etwa das gewünschte zu bewerkstelligen. auf grund der zahlreichen nachteile von frames geh aber bitte davon aus, dass ich sie eigentlich gar nicht erwähnt habe.

    eine andere möglichkeit wäre, dass über javascript zu machen. da javascript aber nicht zur verfügung stehen muss, eignet es sich natürlich nur für eher unwichtige sachen.

    die dritte möglichkeit wäre, einfach eine "neue" seite zu laden, die die gewünschte änderung enthält. "neue" in anführungszeichen, weil es natürlich kein extra datei sein muss, sondern beispielsweise auch ein serverseitiges script einfach nur diesen teil austauschen könnte.
    grafiken und CSS werden sowieso gecached, also fallen die paar byte HTML-code, die erneut übertragen werden müssen, kaum ins gewicht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. hallo,

    in HTML ist das so nicht möglich, aber durch ein einfaches Javascript, lässt sich das umsetzen.

    anbei ein quellcode, den du nur in den body einfügen musst, der Text der neu eingesetzt werden soll, muss in Anführungszeichen notiert werden.
    Übrigens Umlaute und Sonderzeichen bedürfen besonderer notation, mehr dazu unter

    www.zid.tugraz.at/peter/javascript/unicode.html

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

    <script type="text/javascript">
    function neuerText()
    {
    neuerText = "Dies ist der neue Text ...";     // hier den neuen Text reinschreiben

    document.Formular.Textfeld.value = neuerText;
    }
    </script>

    <form name="Formular">
    <textarea name="Textfeld" rows="4" cols="40">Hier steht ein Text</textarea>
    <button name="Button" type="button" onclick="javascript:neuerText()">Hier klicken</button>
    </form>

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

    Gruß

    Peter

    1. hi,

      anbei ein quellcode, den du nur in den body einfügen musst,

      lies doch bitte mal </faq/#Q-09d>.

      function neuerText()
      {
      neuerText = "Dies ist der neue Text ...";     // hier den neuen Text reinschreiben

      hoppla, jetzt hast du gerade die funktion neuerText überschrieben.

      wenn jetzt noch mal auf den button geklickt wird, gibt das vermutlich einen fehler.

      <button name="Button" type="button" onclick="javascript:neuerText

      <gebetsmuehle>
      bitte auf das label javascript: in eventhandlern verzichten, da es dort erstens weitgehend sinnfrei ist, und zweitens in älteren browsern fehler provozieren kann.
      </gebetsmuehle>

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. hallo,

        ich danke für den hinweis.
        hier also die änderung.

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

        <script type="text/javascript">
        function neuerText()
        {
        Text = "Dies ist der neue Text ...";
        document.Formular.Textfeld.value = Text;
        }
        </script>

        <form name="Formular">
        <textarea name="Textfeld" rows="4" cols="40">Hier steht ein Text</textarea>
        <button name="Button" type="button" onclick="neuerText()">Hier klicken</button>
        </form>

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

        ich hoffe das ich trotzdem etwas helfen konnte

        Gruß

        Peter