Ankündigung

Einklappen
Keine Ankündigung bisher.

Text von Inputfield zu Textarea übernehmen und positionieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Text von Inputfield zu Textarea übernehmen und positionieren

    Guten Abend,

    anbei eine Frage.
    Ich würde gerne den Text aus zwei Inputfeldern beim schreiben gleichzeitig in einer Textarea wiedergeben.
    Dazu sollen die Eingaben vom den Inputfeldern entsprechend in der Textarea positioniert werden.


    Code:
    <form>
    <label> Vorname </label>
    <input type="text" id="vorname" name="vorname" value="" placeholder="Vorname">
    <label> Nachname </label>
    <input type="text" id="nachname" name="nachname" value="" placeholder="Nachname">
    <textarea id="textfield" name="textfield" value="" rows="4" cols="50">
    
    Sehr geehrte Damen und Herren,
    
    folgende Daten haben Sie angegeben:
    
    Vorname: ***Hier soll die Eingabe von Vorname stehen***
    Nachname: ***Hier soll die Eingabe von Nachname stehen***
    
    Mit freundlichen Grüßen
    
    </textarea>
    </form>
    Code:
    $("#vorname").keyup(function(){
        $("#textfield").val(this.value);
    });
    $("#nachname").keyup(function(){
        $("#textfield").val(this.value);
    });


    JSFiddle: https://jsfiddle.net/t8x2r9wg/


    Über Hilfe würde ich mich freuen. Liebe Grüße

  • #2
    HTML-Code:
    <input type="text" id="vorname" name="vorname" value="" placeholder="Vorname">
    <input type="text" id="nachname" name="nachname" value="" placeholder="Nachname">
    <textarea id="textfield" name="textfield" value="" rows="10" cols="50">
    
    Sehr geehrte Damen und Herren,
    
    folgende Daten haben Sie angegeben:
    
    Vorname: {vorname}
    Nachname: {nachname}
    
    Mit freundlichen Grüßen
    
    </textarea>
    Code:
    $(function() {
        var $textField = $('#textfield');
        var $vorname = $('#vorname');
        var $nachname = $('#nachname');
    
        var template = $textField.val();
    
        var updateTextField = function() {
            $textField.val(template
                .split('{vorname}').join($vorname.val())
                .split('{nachname}').join($nachname.val())
            );
        };
    
        $vorname.on('input', updateTextField);
        $nachname.on('input', updateTextField);
    });

    Kommentar


    • #3
      Vielen Dank schon einmal. Bei mir passiert nichts wenn ich den Code bei JSFiddle teste.
      Muss ich
      HTML-Code:
        {vorname},    {nachname}
      noch anpassen?

      EDIT: Wenn der Text in ein Inputfeld eingetragen wird, soll der in Echtzeit in die Textarea eingetragen werden.
      Benötigt man dazu die
      HTML-Code:
      .keyup(function()
      ?

      Kommentar


      • #4
        Wozu willst du unbedingt .keyup() verwenden? Nicht jede Eingabe findet per Tastatur statt.

        Und es funkioniert sehr wohl: https://jsfiddle.net/2yasw9kg/

        Kommentar


        • #5
          Funktioniert jetzt wunderbar, musste noch JQuery auswählen... vielen Dank für deine tolle Hilfe

          Kommentar


          • #6
            Nur der Vollständigkeit halber, das geht auch ohne jQuery in gleicher Kürze:
            Code:
            var txtField = document.querySelector('#textfield');
            var firstName = document.querySelector('#vorname');
            var lastName = document.querySelector('#nachname');
            
            var tpl = txtField.value;
            
            var update = function()
            {
              txtField.value = tpl
                .replace('{vorname}', firstName.value)
                .replace('{nachname}', lastName.value);
            }
            
            firstName.addEventListener('input', update)
            lastName.addEventListener('input', update)
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Perfekt, vielen Dank

              Kommentar

              Lädt...
              X