4

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

4

2 回答 2

4

使用纯javascript onkeypressdocument

小提琴。(演示)

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. 刷新你的页面,瞧。
于 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 回答