Eingaben auslesen
Formularelemente nehmen Eingaben entgegen. JavaScript liest sie über die Eigenschaft value aus — meist nach einem Klick auf einen Knopf.
<label for="alter">Alter:</label> <input type="number" id="alter"> <button id="pruefen">Prüfen</button> <p id="ausgabe"></p>
- input:Eingabefeld;
typelegt die Art fest:text,number,range(Schieberegler),checkbox. - label:Beschriftung;
forverweist auf dieiddes Felds — Klick auf die Beschriftung setzt den Cursor ins Feld. - value:
feld.valueist der aktuelle Inhalt — immer ein string, auch beitype="number". - checked:bei Checkboxen:
trueoderfalse. - Zeitpunkt:erst im Klick-Listener auslesen; beim Laden ist das Feld noch leer.
Eingaben auswerten
Vor dem Rechnen wird aus dem Text eine Zahl, danach wird geprüft, ob die Eingabe überhaupt sinnvoll ist.
const feld = document.querySelector("#alter");
const ausgabe = document.querySelector("#ausgabe");
document.querySelector("#pruefen").addEventListener("click", auswerten);
function auswerten() {
let alter = Number(feld.value);
if (feld.value === "" || isNaN(alter)) {
ausgabe.textContent = "Bitte eine Zahl eingeben.";
} else if (alter >= 12) {
ausgabe.textContent = "Film ab 12: Einlass!";
} else {
ausgabe.textContent = "Leider noch zu jung.";
}
}- Number(…):wandelt Text in eine Zahl; aus
"abc"wirdNaN(„keine Zahl“). - isNaN(x):ist
true, wennxkeine gültige Zahl ist. - Leeres Feld:
Number("")ergibt 0 — deshalb leere Eingaben extra prüfen. - + und *:
"3" + "2"verkettet zu"32";"3" * 8rechnet 24, weil*selbst umwandelt. Sicher ist nurNumber. - Ausgeben:Ergebnis mit
textContentin ein Element der Seite schreiben, nicht mitalert.
Stelle mit den beiden Reglern — selbst Formularfelder — eine Bestellung ein. Die Bühne zeigt, was value liefert und was das Programm daraus rechnet. Schalte im Balken zwischen den beiden Programmversionen um und teste auch 0 Karten.
Halte fest: value liefert immer Text. Erst Number(…) macht daraus eine Zahl, mit der + rechnet und === 0 vergleicht.
let zahl = Number(feld.value); · ungültig, wenn feld.value === "" oder isNaN(zahl)
Allgemeine Hinweise
value ohne Klammern
feld.value ist eine Eigenschaft, keine Funktion. feld.value() bricht mit TypeError ab.
Grenzfälle eintippen
Teste jede Eingabe mit: leer, 0, negativ, Komma („2,5“), Buchstaben. Number("2,5") ist NaN — JavaScript erwartet den Punkt.
Formular lädt neu
Ein <button> in einem <form> schickt das Formular ab und lädt die Seite neu. Knopf außerhalb des Formulars oder type="button" setzen.
