我有这个提交登录表单的按钮:
<input class="btn btn-large btn-success" id="login-button" onclick="handleLogin()" name="submit" type="submit" value="Login"/>
我有这个功能,当用户按下enter键时我想用它来自定义提交:
$(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。没有那么多。我已经知道如何提交表格。
答案 0 :(得分: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()
与表单的name
或id
一起使用。 http://api.jquery.com/submit/
您错过了});
答案 1 :(得分:1)
这是处理提交表单事件的更好方法:
<form id="form">
...
//input texts ...
...
<input type="submit" value="Send"/>
</form>
然后,jquery(您不需要知道按下的键,只需要通过提交按钮或回车键调度的提交事件):
$("#form").submit(function(e){
e.preventDefault();
//your logic ...
});