首页 > 解决方案 > 将输入更改为选项卡

问题描述

这是我在 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 >&copy; Fatables <?php echo date('Y');?></p>
</div>
<script type=“text/javascript”&gt;
$("#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。事情是我们使用条形码扫描仪,在大多数情况下,表单数据将通过扫描填充,所以我希望确定的输入在按下输入时将焦点更改为下一个。

由于某种原因,上述(以及更多方法)不起作用,我不知道我的语法、选择器或函数本身是否有问题。

我会在这里感谢一些帮助。

标签: javascriptjqueryformscakephpform-submit

解决方案


推荐阅读