Ich weiß, dass es möglich ist, ein Formular mit der Eingabetaste zu senden, aber dadurch wird die Seite aktualisiert.Formular mit Enter senden, ohne die Seitenaktualisierung auszulösen
Ich mache ein interaktives Spiel, in dem die Antworten des Benutzers zu einer div
hinzugefügt werden, wenn er eine Antwort (übergibt das Formular).
Durch Aktualisieren der Seite verschwindet jedoch der aktuelle Text in div
, und dies ist daher NICHT erwünscht.
Ist es möglich, ein Skript mit der Eingabetaste auszulösen, wenn Sie ein Formular OHNE die Seite aktualisieren?
Illustrated Beispiel:
<form action="tdat.php" method="post" onsubmit="return answer(event)">
<input type="text" name="userInput" id="searchTxt" maxlength="50" size="50">
</form>
Dies ist die Form, die ich verwende. Ich habe versucht, eine Funktion answer(e)
zu machen, um auf die Benutzereingabe zu reagieren, und den Text zum div
anzuzeigen.
Der Code answer(e)
wird jedoch nicht ausgeführt, und die Seite wird ebenfalls aktualisiert. Wie soll ich das bekämpfen? Danke im Voraus.
UPDATE:
diejenigen Um den Inhalt des Ereignisses in answer(e)
fragen, es ist wie folgt:
function answer(e) {
if (e.keyCode == 13) {
addText()
responseCheck()
document.getElementById("searchTxt").value = ""
autoScroll()
}
}
addText()
derjenige ist, der die HTML
zum div
anhängt, ist responseCheck()
die Funktion, die berechnet die Antwort und der Rest sollten offensichtlich sein.
Was ist Ereignis? als Antwort? – uzaif
Aktualisiert, um klarer zu sein. Danke @uzaif für die Erinnerung. – Hundotte
versuchen Sie keydown-Ereignis in der Eingabe und überprüfen Sie für event.keyCode == 13, weil Sie keine Schaltfläche senden – uzaif