带有回车键功能的 jQuery 按钮提交

标签 jquery

我有一个像这样提交的按钮:

<input type="button" id="button_sign_in" class="button_sign_in" value="Sign in"/>

我有 jQuery 提交,如下所示:

$(document).ready(function()
    {
        $('#button_sign_in').click(function(){
             console.log('login');
            $.ajax
            ({
                url: "login",
                type: "post",
                data: $('#login_form').serialize(),
                dataType:'json',
                success: function (data) 
                {
                    if (data.status=='SUCCESS') 
                    {
                        window.location='home.php'; 
                    }
                    else 
                    {
                        $('#button_sign_in').shake(4,6,700,'#CC2222');
                        $('#username').focus();
                    }
                },
                error: function (e) {
                    console.log('error:'+e);
                }
            });
        });
    });

问题是:我们无法使用 Enter 键提交,因此用户必须单击“登录”按钮才能提交。

我想要什么?在JS函数中设置回车键,以便用户可以选择使用回车键提交或单击按钮登录。

感谢您的帮助。

最佳答案

查看此演示 http://jsfiddle.net/yeyene/hd7zqafg/

首先单击结果帧(因为还有其他帧),然后按 Enter 键,提交按钮单击事件将在按下 Enter 键和单击按钮时触发。

$(document).ready(function()               
    {
        // enter keyd
        $(document).bind('keypress', function(e) {
            if(e.keyCode==13){
                 $('#button_sign_in').trigger('click');
             }
        });

        $('#button_sign_in').click(function(){
            alert('You click submit!');
             console.log('login');
            $.ajax
            ({
                url: "login",
                type: "post",
                data: $('#login_form').serialize(),
                dataType:'json',
                success: function (data) 
                {
                    if (data.status=='SUCCESS') 
                    {
                        window.location='home.php'; 
                    }
                    else 
                    {
                        $('#button_sign_in').shake(4,6,700,'#CC2222');
                        $('#username').focus();
                    }
                },
                error: function (e) {
                    console.log('error:'+e);
                }
            });
        });
    });

关于带有回车键功能的 jQuery 按钮提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606361/

相关文章:

javascript - 如何让我的功能在点击时执行

javascript - 禁用 Vanilla-tilt.js 的鼠标移动但保持陀螺仪效果

javascript - 无法使用 Slim Framework 从 DELETE 请求获取正文

javascript - jQuery 顺序执行异步事件

jquery - 相对于容器 div 的简单模态

javascript - 未在 JSFiddle 中执行的 jQuery 代码

javascript - 从 UL 中删除以编程方式添加的 LI

php - 如何使用 jQuery/Javascript 将变量发布到另一个页面?

javascript - Chrome 的控制台自动完成

javascript - jQuery trim 功能在 IE7 中不起作用?