gpt4 book ai didi

javascript - 使用 Enter 提交表单而不触发页面刷新

转载 作者:行者123 更新时间:2023-11-27 23:06:21 25 4
gpt4 key购买 nike

我知道可以使用回车键提交表单,但这样做会刷新页面。

我正在制作一个交互式游戏,每当用户做出响应(提交表单)时,用户的响应就会添加到 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() 是计算响应的函数和其余的应该是显而易见的。

最佳答案

First Add onkeydown in input and remove the form tag which cause reload whole page

<input type="text" name="userInput" id="searchTxt" maxlength="50" size="50" onkeydown="return answer(event)">

现在使用下面的js函数

function answer(e) {
if (e.keyCode == 13) {
addText();
$.ajax({
url:"tdat.php",
type:"POST",
data:$("#searchTxt").val(),
success:function(){
$("searchTxt").val("");
autoScroll()

}
})
}
}

关于javascript - 使用 Enter 提交表单而不触发页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36546275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com