Gunnar Bittersmann: Form an Discord

Beitrag lesen

@@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 namen 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