用jQuery在“ Enter”上提交表单?

冷暖自知 提交于 2020-02-28 06:33:11

我有一个标准的登录表单-使用HTML / jQuery的AIR项目上的电子邮件文本字段,密码字段和提交按钮。 当我在表单上按Enter键时,整个表单的内容消失了,但是表单没有提交。 有谁知道这是Webkit的问题(Adobe AIR使用Webkit的HTML)还是我捆绑了东西?

我试过了:

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

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


#1楼

尝试这个:

var form = document.formname;

if($(form).length > 0)
{
    $(form).keypress(function (e){
        code = e.keyCode ? e.keyCode : e.which;
        if(code.toString() == 13) 
        {
             formsubmit();
        }
    })
}

#2楼

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

看看这个stackoverflow答案: event.preventDefault()vs. return false

本质上,“ return false”与调用e.preventDefaulte.stopPropagation()


#3楼

这是一种作为JQuery插件执行此操作的方法(以防您想重新使用该功能):

$.fn.onEnterKey =
    function( closure ) {
        $(this).keypress(
            function( event ) {
                var code = event.keyCode ? event.keyCode : event.which;

                if (code == 13) {
                    closure();
                    return false;
                }
            } );
    }

现在,如果您要使用这种功能来装饰,就这么简单:

$('#your-input-id').onEnterKey(
    function() {
        // Do stuff here
    } );

#4楼

只需添加即可轻松实现。 您可以简单地创建一个表单,然后将“提交”按钮隐藏起来:

例如:

<form action="submit.php" method="post">
Name : <input type="text" name="test">
<input type="submit" style="display: none;">
</form>

#5楼

这是我的代码:

  $("#txtMessage").on( "keypress", function(event) {
    if (event.which == 13 && !event.shiftKey) {
        event.preventDefault();
        $("#frSendMessage").submit();
    }
    });
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!