Sempervivum
Erfahrenes Mitglied
Dies:
war gut gemeint, aber es wirkt nur, wenn man auch nur die Elemente innerhalb des Formular berücksichtigt. So sollte es besser gehen:
Wenn es dann immer noch nicht geht: Was für ein HTML verwendest Du? Ich habe es mit dem aus Posting #2 getestet und da sind keine Textareas und keine Selects drin.
Code:
<!-- Diese Hilfs-Textarea legen wir außerhalb des Formulars
weil sie in die Zusammenfassung nicht einbezogen werden soll:
-->
Code:
<script>
function copyFormData() {
// Formularelemente Textinputs, Textareas und Selects bereit stellen:
const
form = document.querySelector('form'),
formElems = form.querySelectorAll('input[type="text"], textarea, select'),
txtCont = document.getElementById('zusammenfassung');
let txt = '';
// Schleife über die Elemente:
formElems.forEach(item => {
// In item steht jetzt das aktuelle Formularelement.
const
// Das Label, das dazu gehört, ermitteln:
lbl = document.querySelector('label[for="' + item.id + '"]'),
// Und den Wert:
val = item.value,
// Jetzt können wir die Zeile für die Textarea
// zusammen bauen:
line = lbl.textContent + ': ' + val + ';';
// und zum Text für die Textarea hinzu fügen:
txt += line;
console.log(txt);
});
txtCont.textContent = txt;
// Jetzt können wir den Text in die Zwischenablage
// kopieren.
navigator.clipboard.writeText(txt);
}
</script>