2

我有这个提交登录表单的按钮:

<input class="btn btn-large btn-success" id="login-button" onclick="handleLogin()" name="submit" type="submit" value="Login"/>

我有这个功能,当用户按下回车键时,我想用它来进行自定义提交:

$(document).ready(function () {

     $(document).keyup(function(event) { 

        if(event.which == 13) {

            $('#login-button').click();
            //event.preventDefault();
            //return false;
        }
    });
});

然而,这根本没有做任何事情。我尝试过使用和不使用代码的注释部分。请注意,单击时可以提交表单,并且我在form元素中没有输入字段。我正在使用 handleLogin() 使用 AJAX 提交。所以我真正想要的是#login-button被点击!各位看出来问题了吗?提前致谢。

更新:我正在使用 Chrome BETA 频道。

重要提示!:我希望在按 ENTER 时单击#login-button。仅此而已。我已经知道如何提交表格。

4

2 回答 2

4

演示小提琴

$(document).ready(function () {    
     $(document).keyup(function(event) {  
        if(event.keyCode === 13) {

            $('#yourForm').submit(); // submit form
             alert('yeah!')
          
            event.preventDefault();
            return false;
        }          
     });     
});

使用:keyCode而不是which
使用:.submit()与您的形式的nameidhttp://api.jquery.com/submit/
你错过了一个});

于 2012-04-29T19:28:45.953 回答
1

这是处理提交表单事件的更好方法:

<form id="form">
...
//input texts ...
...
<input type="submit" value="Send"/>
</form>

然后,jquery(你不需要知道按下的键,只需要提交按钮或回车键调度的提交事件):

$("#form").submit(function(e){
e.preventDefault();
//your logic ...
});
于 2012-04-29T19:33:04.100 回答