gpt4 book ai didi

javascript - 防止按下 Enter 键时提交表单

转载 作者:行者123 更新时间:2023-12-01 17:06:32 26 4
gpt4 key购买 nike

我有一个表单,其中包含两个文本框、一个选择下拉菜单和一个单选按钮。当按下enter键时,我想调用我的JavaScript函数,但是当我按下它时,form被提交。

如何防止按下 enter 键时提交表单

最佳答案

if(characterCode == 13) {
// returning false will prevent the event from bubbling up.
return false;
} else{
return true;
}

好的,假设您的表单中有以下文本框:

<input id="scriptBox" type="text" onkeypress="return runScript(event)" />

为了在按下回车键时从此文本框中运行一些“用户定义”脚本,而不是让它提交表单,这里有一些示例代码。请注意,此函数不执行任何错误检查,并且很可能仅在 IE 中工作。为了正确地做到这一点,您需要一个更强大的解决方案,但您会得到总体思路。

function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}

返回函数的值将警告事件处理程序不要进一步冒泡事件,并将阻止进一步处理按键事件。

注意:

有人指出keyCodenow deprecated 。下一个最佳替代方案also been deprecated .

不幸的是,现代浏览器广泛支持的受欢迎的标准key有一些dodgy behavior in IE and Edge 。任何早于 IE11 的浏览器仍需要 polyfill .

此外,虽然已弃用的警告对于 keyCodewhich 来说是相当不祥的,但删除这些警告将意味着对无数遗留网站的巨大破坏性更改。因此,他们不太可能很快就去任何地方。

关于javascript - 防止按下 Enter 键时提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/905222/

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