我有一个包含多个输入框的表单,当我按下回车键时,我试图提交这些输入框,而不管其中一个输入框当前是否突出显示。也就是说,我希望能够输入文本,单击页面背景,按回车键,然后提交表单。我曾尝试制作一个隐藏按钮,但此解决方案仅在光标位于输入之一内时才会提交。
最佳答案
使用 onkeypress
在 document
使用纯 JavaScript:
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 的新手,请执行以下步骤让您的脚本每次都运行:
- 将我的代码添加到文件中
.js
分机 - 添加
<script src="your_filename.js" type="text/javascript"></script>
在你结束之前</body>
标签。 - 刷新您的页面,瞧。
关于javascript - 映射回车键以在不在输入内时提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17574117/