切换文本字段输入按

时间:2016-08-25 09:44:30

标签: javascript jquery html

我在网上找到的答案都没有。

当我的页面加载时,我的JS文件选择了第一个文本字段;哪个有效。 然后我想要它,如果在文本字段中按下回车键,它然后进入下一个文本字段。现在我有......

$('input[type="text"]').keyup(function(e) {
    if(e.keyCode == 13) {
        $(this).next().focus();
    }
});

哪个不起作用。

我的意见是......

<input type="text" name="username" id="username" autocomplete="off" />
<input type="text" name="password" id="password" autocomplete="off" />

如果我做了一些愚蠢的事情,我会道歉,但我一直试图解决这个问题太久了。

7 个答案:

答案 0 :(得分:2)

您只需将代码段指向文档就绪函数即可。如下所示

$(document).ready(function (){
     $('input[type="text"]').keyup(function(e) {
          var key_code = e.keyCode || e.which;
          if(key_code == 13)
          {
              $(this).nextAll('input[type="text"]').first().focus();
          }
     });
 });

如果在第二个文本输入字段之前有任何其他DOM,则有意识地建议使用nextAll('input[type="text"]').first().focus()

答案 1 :(得分:0)

您应该检查是否存在某些脚本错误。在Chrome上,按Ctrl + Shift + J.

只需将自动对焦HTML属性添加到第一个输入字段。

您的密码应该是输入密码。

<input type="text" name="username" id="username" autocomplete="off" autofocus />

<input type="password" name="password" id="password" autocomplete="off" />

答案 2 :(得分:0)

您的代码运行正常,请确保浏览器控制台中存在任何错误。

$(document).ready(function(){

 $('input[type="text"]').keyup(function(e) {
  if(e.keyCode == 13) {
   $(this).next().focus();
  }
 });
});

答案 3 :(得分:0)

这是html

<input type="text" name="username" id="username" autocomplete="off" data-selected="true" />
<input type="text" name="password" id="password" autocomplete="off" data-selected="false" />

这是JS

$('input[type="text"]').keyup(function (e) {
    if (e.keyCode == 13) {
    $('[data-selected=false]').focus();
    $('[data-selected=false]').attr('data-selected', true);
    $(this).attr('data-selected', false);
    }
});

这是小提琴

https://jsfiddle.net/tm8yxL1m/

<强>解释

我使用data-selected =“true”来检查字段是否被选中。当用户按下回车键时我操纵它为假,并使其他真正的

答案 4 :(得分:0)

请试试这个:

<input type="text" name="username" id="username" autocomplete="off" />
<input type="text" name="password" id="password" autocomplete="off" />


$('input[type="text"]').keypress(function(e) {
  if(e.which == 13) {
     $(this).next().focus();
  }
}); 

答案 5 :(得分:0)

使用input选择器与jQuery下面的代码适用于input type="text"input type="password"也适用于<select>代码..

参见在线JS Fiddle。 的 HTML:

<input type="text" name="username" id="username" autocomplete="off" />
<input type="password" name="password" id="password" autocomplete="off" />
<select style="width:100px">
<option>A</option>
<option>b</option>
<input type="text" name="text2" id="text2" autocomplete="off" />
</select>
</select>

<强> JS:

$(document).ready(function(){
  $('input:first , select').keyup(function(e) {
    if(e.keyCode == 13) {
        $(this).next().focus();
    }
  });
});

答案 6 :(得分:0)

<input type="text" name="username" id="username" autocomplete="off" />
<input type="text" name="password" id="password" autocomplete="off" />

1。首先将您的e.keyCode更改为e.which

$(document).ready(function(){
    $('input[type="text"]').keypress(function(e) {
      if(e.which == 13) {
         $(this).next().focus();
      }
    }); 
});
  1. 检查你的html中是否有jquery。
  2. 您提供的html可能是 包含在带有提交按钮的表单中。如果是,那么即使您提供了keyup活动,您的表单也会提交。这就是你没有看到结果的原因。
  3. 密码应为type = password。只是一个建议         在你的询问之外。