我有一个带有多个输入框的表单,当我按下回车键时,我试图提交该表单,无论其中一个输入当前是否突出显示。也就是说,我希望能够输入文本,单击页面背景,按回车键,然后提交表单。我曾尝试制作一个隐藏按钮,但此解决方案仅在光标位于其中一个输入时才出现提交。
问问题
1060 次
2 回答
4
使用纯javascript onkeypress
:document
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>
标记之前添加。- 刷新你的页面,瞧。
于 2013-07-10T15:09:48.527 回答
1
在 jQuery 的帮助下:
$(document).keydown(function(e) {
if (e.keyCode == 13) {
$('#your-form').submit();
return false;
}
});
于 2013-07-10T15:10:10.510 回答