Javascript Jquery更改焦点输入
我试图建立一个系统,当我填充一个文本框时,它会移动到下一个文本框。 目前我有以下代码:Javascript Jquery更改焦点输入,javascript,jquery,html,css,keyup,Javascript,Jquery,Html,Css,Keyup,我试图建立一个系统,当我填充一个文本框时,它会移动到下一个文本框。 目前我有以下代码: $('#txt1').keyup(function() { if(this.value.length == $(this).attr('maxlength')) { $('#txt2').focus(); } }); 我想让这一切继续下去,这样它将继续echo#txt3#txt4等。 还有一种方法可以通过箭头键更改聚焦文本框。例如,当按下向上箭头键时,选择键从#txt4更改
$('#txt1').keyup(function() {
if(this.value.length == $(this).attr('maxlength')) {
$('#txt2').focus();
}
});
我想让这一切继续下去,这样它将继续echo#txt3
#txt4
等。
还有一种方法可以通过箭头键更改聚焦文本框。例如,当按下向上箭头键时,选择键从#txt4
更改为#txt3
,向下键则相反
提前感谢。您可以使用按键事件来检查按键是否按下,并根据按键情况采取必要的措施! 编辑:通过在函数调用中传递参数,可以知道按下了哪个键
.keypress(function(e))
{
if(e.which == 13)
//take necessary action for enter key
etc
}
您可以有一个按键事件,检查按键是否按下,并根据按键情况采取必要的措施! 编辑:通过在函数调用中传递参数,可以知道按下了哪个键
.keypress(function(e))
{
if(e.which == 13)
//take necessary action for enter key
etc
}
绑定一个
keydown
事件并检查正确的事件。哪个:
- 左:37
- 上升:38
- 右:39
- 下降:40
绑定一个键控事件,并检查正确的事件。哪个:
- 左:37
- 上升:38
- 右:39
- 下降:40
以下是解决第一个问题的代码。为了方便起见,我添加了一个class属性,并将“maxlength”属性替换为HTML“size”属性
HTML
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
}))
我对你方关于箭头键装订的要求表示怀疑。如果用户希望在其中一个输入中导航,会发生什么?然而,以下是需要考虑箭头键的代码:
HTML
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
}))
以下是解决第一个问题的代码。为了方便起见,我添加了一个class属性,并将“maxlength”属性替换为HTML“size”属性
HTML
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
}))
我对你方关于箭头键装订的要求表示怀疑。如果用户希望在其中一个输入中导航,会发生什么?然而,以下是需要考虑箭头键的代码:
HTML
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
<p><input type="text" class="navigable" id="txt1" data-number="1" size="2" placeholder="dd"></p>
<p><input type="text" class="navigable" id="txt2" data-number="2" size="2" placeholder="mm"></p>
<p><input type="text" class="navigable" id="txt3" data-number="3" size="4" placeholder="yyyy"></p>
}))
谢谢,我应该试试。谢谢,我应该试试。这对用户不友好。所以当您达到允许的最大字符数时,请继续,不要给用户任何删除字符或编辑输入的机会,只需继续下一个?我同意@undefined,这是你看不到这种东西的原因。。。在任何地方在我看来,这对用户不友好。因此,当您达到允许的最大字符数时,请继续,不要给用户任何删除字符或编辑输入的机会,只需继续下一个?我同意@undefined,这是你看不到这种东西的原因。。。在任何地方谢谢,这就是我要找的。问题是,我希望名称是来自一个非有序ID的DB的ID。是否有一种方法可以让下一个项目从类似“data-next”的内容中确定?是的,当然可以。但是为了帮助你找到最好的解决方案,我需要更多的信息。输入是同一div的一部分吗?这可以让我们使用jQuery:eq而不是依赖data-*属性。问题是,我希望名称是来自一个非有序ID的DB的ID。是否有一种方法可以让下一个项目从类似“data-next”的内容中确定?是的,当然可以。但是为了帮助你找到最好的解决方案,我需要更多的信息。输入是同一div的一部分吗?这使我们能够使用jQuery:eq而不是依赖data-*属性。