jQuery - 当输入字段被聚焦时,带有回车键的目标按钮

时间:2011-10-29 06:54:27

标签: jquery html

我有一个输入字段和一个登录按钮。我想允许用户点击“输入”键,在输入字段聚焦时单击按钮。我如何用jQuery做到这一点?

<input type="text" size="10" id="loginUserID" name="username">
<input type="button" value="Login" name="loginBtn" id="loginBtn">

4 个答案:

答案 0 :(得分:40)

$('#loginUserID').keypress(function(event){
  if(event.keyCode == 13){
    $('#loginBtn').click();
  }
});

演示:http://jsfiddle.net/Bhf5a/

答案 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>