当当前字段为空时使用Shift + Tab返回上一个字段

时间:2018-08-03 09:05:34

标签: jquery html css

我有一个包含3个字段的表单:

  1. 电子邮件
  2. 密码
  3. 号码

如果EMAIL为空,则无法使用新闻标签进入“密码”字段, 如果电子邮件不为空,则只能进入下一个字段,实际上它可以工作,

当重点放在“密码”字段时,我想使用Shift + Tab返回到“电子邮件”字段。仅在PASSWORD不为空时有效。

multiprocessing.Manager.Queue

如何实现?

2 个答案:

答案 0 :(得分:0)

请尝试以下操作:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Vertical (basic) form</h2>
  <form action="/action_page.php" method="post" name="subForm" id="subForm">
    <div class="form-group">
      <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
    </div>
    <div class="form-group">
      <label for="pwd">Password:</label>
      <input type="password" class="form-control" id="password" placeholder="Enter password" name="password">
    </div>
     <div class="form-group">
      <label for="pwd">Number:</label>
      <input type="number" class="form-control" id="number" placeholder="Enter Number" name="number">
    </div>

    <button type="submit" class="btn btn-default">Submit</button>
  </form>
</div>
<script type="text/javascript">
function disableinputs(){
    $("#subForm input").prop('readonly', true);
}
$(document).ready(function(){
    disableinputs();
});
$(document).on('click','#subForm input',function(){
    $(this).prop('readonly', false);
});
$(document).on('focus','#subForm input',function(){
    $(this).prop('readonly', false);
});
$(document).on('focusout','#subForm input',function(){
    disableinputs();
});

</script>
<script type="text/javascript">
    $("#email").focusout(function () {
        if (!$(this).val()) {
            $(this).focus();
        }
    });
    $("#password").focusout(function () {
        if (!$(this).val()) {
            $(this).focus();
            $("#email").focus();
        }
    });
    $("#number").focusout(function () {
        if (!$(this).val()) {
            $(this).focus();
            $("#number").focus();
        }
    });
    </script>
</body>
</html>

答案 1 :(得分:0)

好吧,看起来您想要执行以下操作:

  • 如果密码字段为空,则应该能够通过Shfit + Tab发送电子邮件
  • 如果密码字段不为空,则应该能够通过Shift + Tab键发送电子邮件

因此,您始终想通过Shift + Tab转到电子邮件,因此此代码:

$("#password").focusout(function () {
    if (!$(this).val()) {
        $(this).focus();
    }
});

应一起删除。您永远都不想阻止用户通过Shift + Tab键输入密码。