Html Buttons mit Tastatur?
Hallo ich habe ein Input Feld mit dem Type Text und daneben eines mit dem Type Button und eigentlich funktioniert auch alles aber wenn ich im Textfeld bin und enter drücke soll das selbe passieren wie wenn ich auf den Button drücke aber stattdessen wird die Seite neu geladen?
<form>
<label for="guess" id="guessLabel"></label>
<input type="text" id="guess" name="guess" onkeyup="if (event.keyCode === 13) { checkAnswer() }">
<input type="button" value="" id="submit" onclick="checkAnswer()">
</form>
2 Antworten
Vom Fragesteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
HTML, Webseite, JavaScript
Die Bestätigung mit der Eingabetaste löst den Formularversand aus.
Du kannst das submit-Ereignis auf unterschiedlichen Wegen verhindern. Beispielsweise so:
<form onsubmit="return false">
Oder du verhinderst die Weiterleitung des keypress-Events im keypress-Event Handler.
event.preventDefault();
NackterGerd
15.01.2023, 14:19
@regex9
Ok der ergänzte Code kam später.
Ich kannte anfangs nur die eigentliche Frage und danach bin ich von Auswertung im Server ausgegangen
<form>
<label for="guess" id="guessLabel"></label>
<input type="text" id="guess" name="guess" onkeyup="event.preventDefault(); if (event.keyCode === 13) { checkAnswer() }">
<input type="button" value="" id="submit" onclick="checkAnswer()">
</form>
Der Submit soll doch gar nicht verhindern werden.