【发布时间】:2016-08-01 11:20:10
【问题描述】:
我知道可以使用回车键提交表单,但这样做会刷新页面。
我正在制作一个互动游戏,只要用户做出响应(提交表单),用户的响应就会添加到div。
但是,通过刷新页面,div 中的当前文本会消失,因此这是不希望的。
当您提交表单而不刷新页面时,是否可以使用回车键触发脚本?
图解示例:
<form action="tdat.php" method="post" onsubmit="return answer(event)">
<input type="text" name="userInput" id="searchTxt" maxlength="50" size="50">
</form>
这是我正在使用的表格。我尝试制作一个函数answer(e) 来响应用户的输入,并将文本显示到div。
但是,代码answer(e) 没有运行,页面也刷新了。我应该如何对抗这个?提前致谢。
更新:
对于那些想知道answer(e)事件内容的人如下:
function answer(e) {
if (e.keyCode == 13) {
addText()
responseCheck()
document.getElementById("searchTxt").value = ""
autoScroll()
}
}
addText() 是将HTML 附加到div 的那个,responseCheck() 是计算响应的函数,其余的应该是显而易见的。
【问题讨论】:
-
什么是事件?回答?
-
更新更清晰。感谢@uzaif 的提醒。
-
在输入中尝试 keydown 事件并检查 event.keyCode ==13,因为您没有提交按钮
-
只需在输入中添加 onkeydown 就可以了
-
这行得通,但它会导致页面刷新,导致文本在页面重新加载之前短暂出现在 div 中。有没有办法防止重新加载?
标签: javascript html forms