commulive: Formularfeld Eingabe an anderer stelle in echtzeit anzeigen

Hallo Zusammen,

ist es möglich, die Eingabe in ein Formularfeld gleichzeitig parallel
an einer anderen Stelle auszugeben?

z.B.:

Ein Eingabefeld für einen Namen.

Weiter unten eine Postkarte als Tabellenhintergrund.
Und auf der Postkarte soll dann gleichzeitig zur Eingabe ins
Formularfeld der Name auch ausgegeben werden...

Über einen Lösungsansatz würde ich mich sehr freuen.

LG
Commulive

  1. Grüße,

    Über einen Lösungsansatz würde ich mich sehr freuen.

    JS mit onChange?
    oder brauchst du mehr als dies ansatz?
    MFG
    bleicher

    1. JS mit onChange?
      oder brauchst du mehr als dies ansatz?

      Hi,

      vielen Dank schonmal. Nunja, wenn es damit geht, werd ich mich schon irgendwie durchgooglen :-)

      Es sei denn du hast, um zeit zu sparen, die Paradelösung für mich? *g*

      LG
      Commulive

      1. Hallo nochmal,

        bin einen Schritt weiter.

        folgendes habe ich bis jetzt:

        <form name="Karte" action="">

        <input type="text" size="30" name="Vorname1"
          onkeyup="this.form.Vorname.value = this.value"><br>
         <input type="text" readonly="readonly" size="30" name="Vorname"><br>

        <input type="text" size="30" name="nachname1"
          onkeyup="this.form.nachname.value = this.value"><br>
         <input type="text" readonly="readonly" size="30" name="nachname"><br>

        <input type="reset">
        </form>

        Das sind 2 Felder, die an 2 Stellen ausgegeben werden, soweit, so gut...
        Aber Problem,

        die Ausgabefelder befinden sich nicht im selben Formular... das funktioniert nicht...

        weiß jemand Rat?

        LG
        Commulive

        1. Hallo Joachim,

          habe deinen Post zu spät gesehen, aber ich denke mit deiner Version
          könnte es klappen. Vielen vielen Dank schonmal, ich sage noch bescheid.

          LG
          Patrick

          1. Hi,

            also klappt wunderbar, vielen Dank.

            Allerdings hab ich da noch ne Frage,

            wenn ich das auf einem Textarea anwende, ist es möcglich, dass
            wenn ich in der Eingabe im Textarea Zeilenumbrüche eingebe,
            dass diese dann auch so ausgegeben werden? das funktioniert nämlich nicht...

            LG
            Patrick

            1. Hi,

              wenn ich in der Eingabe im Textarea Zeilenumbrüche eingebe,
              dass diese dann auch so ausgegeben werden? das funktioniert nämlich nicht...

              na, dann musst Du mit replace "\n" durch <br> ersetzen...

              Warum antwortest Du eigentlich nicht direkt auf das Posting, sondern an dieser Stelle?

              Gruesse, Joachim

              --
              Am Ende wird alles gut.
              1. Hi,

                na, dann musst Du mit replace "\n" durch <br> ersetzen...

                das hab ich schon probiert, aber das funzt nich...

                es geht bei der sache übrigens um einen XT:Commerce shop, falls du das kennst.

                Das Problem ist, dass eingabe und ausgabe in 2 verschiedenen dateien sitzt, die included werden. das funktioniert ja auch.

                Es geht hierbei um eine Postkarte. An einer Stelle kann jemand was in ein Textarea eingeben und in einer Tabelle mit einem Postkartenbild als BG wird dann an entsprechender Stelle der Text angezeigt, um es bildlich auf der Postkarte darzustellen.

                Wird jetzt bei der Eingabe im Textarea ein umbruch mit enter gemacht,
                so wird der text in der ausgabe auf der Postkarte aber in einer zeile
                ausgegeben.

                und das möchte ich ändern...

                Warum antwortest Du eigentlich nicht direkt auf das Posting, sondern an dieser Stelle?

                Ich klick immer nur auf antworten... hä?^^

                Gruß
                Patrick

                1. Hi,

                  das hab ich schon probiert, aber das funzt nich...

                  Doch, Du musst das als Regex ersetzen:

                  function check(id) {
                          if (!current_el) {
                              document.onkeyup =  null;
                              return
                          }
                          var out_value =  current_el.value.replace(/\n/g, "<br />");
                          document.getElementById(id).innerHTML =  out_value;
                      }

                  Gruesse, Joachim

                  --
                  Am Ende wird alles gut.
    2. [latex]Mae  govannen![/latex]

      JS mit onChange?
      oder brauchst du mehr als dies ansatz?

      Wenn die Ausgabe in "Echtzeit" (nach jedem getippten Buchstaben) erfolgen soll, würde eher onkeyup passen.
      Gedrückte Taste ermitteln (siehe Beispiel), entsprechendes Zeichen an der anderer Stelle ausgeben.

      Cü,

      Kai

      --
      Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
      selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?
  2. Hi,

    danke schonmal für die Antworten.

    Hab jetzt einige Stunden versucht und versucht...

    Aber leider bekomme ich es ja noch nicht mal hin, dass anstatt der Dezimal wert der normale Buchstabe ausgegeben wird.

    Des Weiteren ist die Materie ja so,

    Jemand gibt in EingabeFeld 1 etwas ein,
    was dann in Ausgabefeld 1 ausgegeben wird.

    Allerdings nur dann, wenn er auch in 1 schreib wird auch nur in 1 ausgegeben...

    das gleich dann mit ein- und ausgabe 2 und 3 usw...

    Ich bräuchte da vllt doch etwas mehr als einen ansatz und würde mich sehr freuen.

    LG
    commulive

    1. Hi,

      Ich bräuchte da vllt doch etwas mehr als einen ansatz und würde mich sehr freuen.

      nun ja, quick and dirty:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
              "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
      <html>
      <head>
      <script type="text/javascript">
          var current_el = false
          function startcheck(el,id) {
              current_el = el;
              document.onkeyup =  function () {
                  check(id);
              }
          }

      function endcheck() {
              current_el = false;
          }

      function check(id) {
              if (!current_el) {
                  document.onkeyup =  null;
                  return
              }
              document.getElementById(id).innerHTML =  current_el.value;
          }
      </script>
      </head>
      <body>
          <form>
              <input onfocus="startcheck(this,'out')" onblur="endcheck()" type="text" value="" size="18" /><br />
              <input onfocus="startcheck(this,'out2')" onblur="endcheck()" type="text" value="" size="18" />
          </form>
          <p><span id="out"></span></p>
          <p><span id="out2"></span></p>
      </body>
      </html>

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
  3. Hi,

    ist es möglich, die Eingabe in ein Formularfeld gleichzeitig parallel
    an einer anderen Stelle auszugeben?

    ich würde folgendermassen vorgehen: zunächst mal setzt Du per onfocus/onblur auf Dein Formelement einen flag, der steuert, ob die Formularüberwachung an oder aus sein soll. Wenn "an" überwachst Du wahlweise document.onkeydown/press/up und liest bei jedem Tastendruck das fragliche Formelement aus, um den Wert dann auch an anderer Stelle auszugeben. (Onchange halte ich für die Anforderung "Echtzeit" weniger geeignet, da das erst feuert, wenn das Formelement den Focus verliert.)

    Alternativ kannst Du den Inhalt des Formularelementes auch periodisch durch einen intervall prüfen, während der flag auf "an" steht.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.