地图输入密钥提交而不是内部输入

时间:2013-07-10 15:01:41

标签: javascript html javascript-events submit enter

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

2 个答案:

答案 0 :(得分:3)

使用纯javascript:{/ 1>在onkeypress上使用document

Fiddle.(demo)

<强> JS:

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

}

以下是Matt 建议使用addEventListener的另一种解决方案:

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. 的文件中
  3. 在结束<script src="your_filename.js" type="text/javascript"></script>代码前添加</body>
  4. 刷新页面,然后瞧。

答案 1 :(得分:1)

在jQuery的帮助下:

$(document).keydown(function(e) {

    if (e.keyCode == 13) {

         $('#your-form').submit();

         return false;
    }

});