首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户登录模拟器js验证用户名和密码失败

用户登录模拟器js验证用户名和密码失败
EN

Stack Overflow用户
提问于 2021-06-23 21:55:25
回答 3查看 29关注 0票数 0

用于验证输入的字符串。

no if条件在js代码中起作用,但是else if条件,请求帮助。

html代码:

代码语言:javascript
复制
<div>
    <h2 class="title">login</h2>
    <p>usernamehere:</p>
    <input type="text" name="username" id="username" placeholder="login">
    <p>passwordhere:</p>
    <input type="password" name="userpassword" id="userpswd" placeholder="password">
    <button id="login">login</button>
</div>
<script src="jquery-3.6.0.min.js" type="text/javascript"></script>
<script src="main.js" type="text/javascript"></script>

js代码:

代码语言:javascript
复制
var userenter = $("#username").val()
var pswdenter = $("#userpswd").val()
$("#login").click(function(){
    if(userenter == "letsstart" && pswdenter == "start"){
        alert("pass");
    }
    else if(userenter == "" || pswdenter == ""){
        alert("enter please")
      }
    else{
        alert("invalid")
    }
});
EN

回答 3

Stack Overflow用户

发布于 2021-06-23 21:59:52

您应该在单击处理程序中读取usernamepassword.val,而不是全局。否则,它将具有输入的文档初始加载值。这就是为什么每次你得到空输入的原因

代码语言:javascript
复制
$("#login").click(function() {
  var userenter = $("#username").val()  //
  var pswdenter = $("#userpswd").val()  //
  console.log(userenter,pswdenter)
  if (userenter == "letsstart" && pswdenter == "start") {
    alert("pass");
  } else if (userenter == "" || pswdenter == "") {
    alert("enter please")
  } else {
    alert("invalid")
  }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <h2 class="title">login</h2>
  <p>usernamehere:</p>
  <input type="text" name="username" id="username" placeholder="login">
  <p>passwordhere:</p>
  <input type="password" name="userpassword" id="userpswd" placeholder="password">
  <button id="login">login</button>
</div>

票数 1
EN

Stack Overflow用户

发布于 2021-06-23 22:01:11

您将检索一次usernameuserpswd的值,然后在单击处理程序中使用它。所以if语句总是查看第一次设置的值(可能是在页面加载时)。

您应该将值检索代码移到您的click处理程序中。

代码语言:javascript
复制
$("#login").click(function(){
    var userenter = $("#username").val()
    var pswdenter = $("#userpswd").val()
    ...
});
票数 1
EN

Stack Overflow用户

发布于 2021-06-23 22:02:46

您必须在每次单击“登录”按钮时获取#username#userpswd的值。否则,当您检查凭据是否有效时,userenterpswdenter将为空,因为当您定义它们时,#username#userpswd输入为空。我不知道它是否得到了很好的解释,但下面是代码:

代码语言:javascript
复制
$("#login").click(function(){
    var userenter = $("#username").val()
    var pswdenter = $("#userpswd").val()
    
    if(userenter == "letsstart" && pswdenter == "start"){
        alert("pass");
    }
    else if(userenter == "" || pswdenter == ""){
        alert("enter please")
      }
    else{
        alert("invalid")
    }
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
    <h2 class="title">login</h2>
    <p>usernamehere:</p>
    <input type="text" name="username" id="username" placeholder="login">
    <p>passwordhere:</p>
    <input type="password" name="userpassword" id="userpswd" placeholder="password">
    <button id="login">login</button>
</div>
<script src="jquery-3.6.0.min.js" type="text/javascript"></script>
<script src="main.js" type="text/javascript"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68101262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档