@@Rolf B
var Name = document.getElementById('Name') let Hallo = document.querySelector("#Name").value;
Beide Zeilen fragen das gleiche Element ab, nur mit unterschiedlichen APIs. Für
Hallo
machst Du es richtig
Nein. Beides ist unsinnig.
An Formularelemente kommt man bereits über document.forms
ran, ohne dass man sich die Elemente nochmals aus dem DOM raussuchen müsste.
Also document.forms[0].Name.value
(wenn das Formular das erste auf der Seite ist).
Auf der sicheren Seite ist man, wenn die Formulare selbst auch name
n haben, bspw. <form name="Kontakt">
. Dann document.forms.Kontakt.Name.value
oder kürzer document.Kontakt.Name.value
.
Das Umkopieren in Variablen ist hier auch überflüssig. Den Wert kann man an Ort und Stelle verwenden.
Und die Stringkonkatenation ist auch überflüssig. Da verwendet man sinnvollerweise template literals:
const params = {
content: `Bewerbung
Name: ${document.Kontakt.Name.value}
Discord: ${document.Kontakt.Discord.value}
Bewierbtsichals: ${document.Kontakt['Bewierbt-sich-als'].value}
Stärken: ${document.Kontakt.Stärken.value}
Message: ${document.Kontakt.Message.value}`
};
Beachte die []
bei Bewierbt-sich-als
. Und ja, das schreibt sich mit nur einem e.
😷 LLAP
„Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
— Joachim Gauck über Impfgegner