我有一个输入字段和一个登录按钮。我想允许用户点击“输入”键,在输入字段聚焦时单击按钮。我如何用jQuery做到这一点?
<input type="text" size="10" id="loginUserID" name="username">
<input type="button" value="Login" name="loginBtn" id="loginBtn">
答案 0 :(得分:40)
$('#loginUserID').keypress(function(event){
if(event.keyCode == 13){
$('#loginBtn').click();
}
});
答案 1 :(得分:7)
您不需要jQuery,只需将按钮更改为type="submit"
:
<input type="text" size="10" id="loginUserID" name="username">
<input type="submit" value="Login" name="loginBtn" id="loginBtn">
然后当您在文本输入中点击 Enter 时,<form>
将自行提交。
答案 2 :(得分:7)
如果它们的格式相同,而您将按钮更改为type="submit"
,则会发现它自动发生,但无论如何......
$(document).ready(function() {
$('#loginUserID').keypress(function(e){
if(e.which === 13)
$('#loginBtn').click();
});
});
(或者您可能更喜欢.keyup
或.keydown
。)
答案 3 :(得分:-2)
当触发器附加在asp.net代码中而不是js或jquery中时,答案不起作用。什么工作正常是将焦点设置在按钮上。在您的情况下,使用您的登录字段
替换我的命名(sharepoint generated)字段 <script type ="text/javascript">
$(document).ready(function () {
var zoekveld = $( "input[name='ctl00$m$g_02abe20b_56ca_4744_a694_5bc31dd14f49$ctl02']" );
var loep = $( "input[name='ctl00$m$g_02abe20b_56ca_4744_a694_5bc31dd14f49$ctl04']" );
zoekveld.keypress(function(e){
//alert("gevonden op name");
var key = e.which;
if(key == 13){
//alert("op enter geklikt");
loep.focus();
}
});
});
</script>