我在网上找到的答案都没有。
当我的页面加载时,我的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" />
如果我做了一些愚蠢的事情,我会道歉,但我一直试图解决这个问题太久了。
答案 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();
}
});
});
keyup
活动,您的表单也会提交。这就是你没有看到结果的原因。 type = password
。只是一个建议
在你的询问之外。