使用jQuery在'输入'提交表单?

我有一个bog标准登录表单 - 一个电子邮件文本字段,一个密码字段和一个使用HTML / jQuery的AIR项目的提交按钮。 当我在表单上按Enter时,整个表单的内容将消失,但表单未提交。 有谁知道这是否是一个Webkit问题(Adobe AIR使用Webkit for HTML),还是我已经把事情弄糟了?

我试过了:

$('.input').keypress(function (e) {
  if (e.which == 13) {
    $('form#login').submit();
  }
});

但是,这既不能阻止清算行为,也不能提交表格。 没有与表格相关的行动 - 这可能是问题吗? 我可以在操作中加入JavaScript功能吗?


$('.input').keypress(function (e) {
  if (e.which == 13) {
    $('form#login').submit();
    return false;    //<---- Add this line
  }
});

注意:您接受了bendewey的回答,但是它对e.preventDefault()的描述不正确。 看看这个stackoverflow的答案:event.preventDefault()与返回false

实质上,“返回false”与调用e.preventDefaulte.stopPropagation()


正如杰森科恩提到的那样,除了返回假。 您可能还必须防止默认

e.preventDefault();

不知道它是否有帮助,但你可以尝试模拟提交按钮点击,而不是直接提交表单。 我在生产中有以下代码,它工作正常:

    $('.input').keypress(function(e) {
        if(e.which == 13) {
            jQuery(this).blur();
            jQuery('#submit').focus().click();
        }
    });

注意: jQuery('#submit')。focus()使按钮在按下输入时具有动画效果。

链接地址: http://www.djcxy.com/p/19525.html

上一篇: Submitting a form on 'Enter' with jQuery?

下一篇: Binding arrow keys in JS/jQuery