javascript - 映射回车键以在不在输入内时提交

标签 javascript html dom-events submit enter

我有一个包含多个输入框的表单,当我按下回车键时,我试图提交这些输入框,而不管其中一个输入框当前是否突出显示。也就是说,我希望能够输入文本,单击页面背景,按回车键,然后提交表单。我曾尝试制作一个隐藏按钮,但此解决方案仅在光标位于输入之一内时才会提交。

最佳答案

使用 onkeypressdocument使用纯 JavaScript:

Fiddle.(demo)

JS:

var form = document.getElementById('form');
document.onkeypress = function(e) {
    if(e.keyCode === 13) //if enter pressed
    {
        form.submit();
    }

}

这是另一个使用 addEventListener 的解决方案,如 Matt 所建议:

var form = document.getElementById('form');
function submitForm(e) {
    if(e.keyCode === 13) //if enter pressed
    {
        form.submit();
    }

}

document.addEventListener('keypress', function() {submitForm(event)}, false);

作为旁注: 我不鼓励你在 纯 JS 可以轻松帮助你的地方使用 jQuery,这就是为什么给你一个 javascript 解决方案。我不鼓励这样做,因为 jQuery 会大大增加服务器的负载!

正如您所说,您是 javascript 的新手,请执行以下步骤让您的脚本每次都运行:

  1. 将我的代码添加到文件中 .js分机
  2. 添加<script src="your_filename.js" type="text/javascript"></script>在你结束之前</body>标签。
  3. 刷新您的页面,瞧。

关于javascript - 映射回车键以在不在输入内时提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17574117/

相关文章:

javascript - 为什么我的计算器只允许我执行一种类型的操作

javascript - Bootstrap 折叠文本更改

javascript - html图片热点切换图片

javascript - 如何在javascript中初始化添加的类?

css - 包装器 div 没有完全包围它的 child

jquery - 检查几个元素的高度,如果高度 > x,则添加类

javascript - Chrome 丰富通知 - 如何使用

javascript - 焦点事件不会在输入字段上触发(无 jQuery)

javascript - 关于 IMAP 服务器上的 PLAIN AUTHENTICATION 的问题

javascript - ReactJs 的函数式风格打破了封装性