javascript - 将输入更改为选项卡
问题描述
这是我在 cakephp 中用户登录的全部代码:
<div class="form-group col-lg-2 col-md-4" id="login-box" style="text-align:center; margin: 100px auto 0 auto;">
<div style="font-size:3em;text-align: center;">
<i class="fas fa-table"></i>
</div>
<div style="text-align: center;font-size: 50px;font-family: 'Tahoma';">
Fatables
</div>
<br>
<div class="header" style="text-align:center"><?php /*echo __('Authenticate');*/?></div>
<br>
<form action="<?php echo $this->Html->url( array('controller'=>'users','action'=>'loginmodal')); ?>" method="post">
<div class="body">
<div class="form-group">
<input type="text" name="username" id="username" class="form-control" placeholder="Username" autofocus/>
</div>
<div class="form-group">
<input type="password" name="password" id="password" class="form-control" placeholder="Password"/>
</div>
</div>
<div class="footer">
<button type="submit" class="btn btn-primary"><?php echo __('Sign In');?></button>
</div>
</form>
<br/>
<p >© Fatables <?php echo date('Y');?></p>
</div>
<script type=“text/javascript”>
$("#username").on("keypress", function(e) {
/* ENTER PRESSED*/
if (e.keyCode == 13) {
/* FOCUS ELEMENT */
var inputs = $(this).parents("form").eq(0).find(":input");
var idx = inputs.index(this);
if (idx == inputs.length - 1) {
inputs[0].select()
} else {
inputs[idx + 1].focus(); // handles submit buttons
inputs[idx + 1].select();
}
return false;
}
});
</script>
如您所见,当我在第一个输入时按下时,我正试图将 ENTER 更改为 TAB。事情是我们使用条形码扫描仪,在大多数情况下,表单数据将通过扫描填充,所以我希望确定的输入在按下输入时将焦点更改为下一个。
由于某种原因,上述(以及更多方法)不起作用,我不知道我的语法、选择器或函数本身是否有问题。
我会在这里感谢一些帮助。
解决方案
推荐阅读
- image - 最小成本路径/最小成本路径
- vba - 使用 SaveAsFile 时 Outlook 损坏 PDF
- c++ - void boost::coroutines::detail::push_coroutine_impl
::push(): 断言`! is_running()' 失败 - sql - sql执行3个自然连接然后联合然后一起
- reactjs - react-router 如何在单个路径中匹配相似的路由条件?
- docker - 使用 Jenkins 管道参数标记 docker 图像
- unit-testing - 嘲弄不执行模拟方法
- python - 在 Python 中实现引导程序的内存有效方式?
- windows - PSWindowsUpdate 文件未找到异常
- java - java validator.validate() 方法需要更长的时间来验证