[英]Map enter key to submit while not inside input
我有一个带有多个输入框的表单,当我按下回车键时,我试图提交该表单,无论其中一个输入当前是否突出显示。 也就是说,我希望能够输入文本,单击页面背景,按回车键,然后提交表单。 我尝试制作一个隐藏按钮,但只有当光标位于其中一个输入内时,此解决方案才会显示。
使用纯javascript在document
上使用onkeypress
:
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
的文件中 </body>
标记之前添加<script src="your_filename.js" type="text/javascript"></script>
。 在jQuery的帮助下:
$(document).keydown(function(e) {
if (e.keyCode == 13) {
$('#your-form').submit();
return false;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.