【问题标题】:if statement doesnt work when included with two variablesif 语句在包含两个变量时不起作用
【发布时间】:2019-02-24 17:08:53
【问题描述】:

我想在 javascript 的帮助下创建一个简单的登录系统。不幸的是,if 语句没有像我预期的那样工作。按下回车键时页面不重定向。

var objPeople = [
	{studentid: "input1"},
	{studentid: "input2"}
]

var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event){
    for(i = 0; i < objPeople.length; i++){
      if (myInput == objPeople[i].myInput && event.keyCode === 13){
        window.location.href = "www.google.com"; 
      }
    }
  });
<html>
    <head>
        <script LANGUAGE="JavaScript" src="JavaScript.js"></script>
        <title>aaa</title>
    </head>
    <body>
        <input type="text" id="myInput">
    </body>
</html>
   

【问题讨论】:

  • if 语句工作正常。我的猜测是 myInput == objPeople[i].myInput 并没有比较你的想法。
  • objPeople 没有myInput

标签: javascript html


【解决方案1】:

myInput 未为您的活动定义,您应该通过在 eventListener 中添加以下行来获取值。

 let myInput= document.getElementById("myInput").value;

如下更改您的代码。

var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event) {
  let myInput = document.getElementById("myInput").value;
  for (i = 0; i < objPeople.length; i++) {
    if (myInput == objPeople[i].studentid && event.keyCode === 13) {
      console.log(objPeople[i].studentid);
      window.location.href = "https://www.google.com";
    }
  }
});

编辑:示例

var objPeople = [{
    studentid: "input1"
  },
  {
    studentid: "input2"
  }
]

var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event) {
  let myInput = document.getElementById("myInput").value;
  for (i = 0; i < objPeople.length; i++) {
    if (myInput == objPeople[i].studentid && event.keyCode === 13) {
      console.log(objPeople[i].studentid);
      window.location.href = "https://www.google.com";
    }
  }
});
<html>

<head>
  <script LANGUAGE="JavaScript" src="JavaScript.js"></script>
  <title>aaa</title>
</head>

<body>
  <input type="text" id="myInput">
</body>

</html>

【讨论】:

  • 抱歉,我是 javascript 新手。显然代码不起作用。我希望在将 input1 或 input2 输入 myInput 然后按下回车键后将页面重定向到谷歌。你能澄清一下吗?
  • @80yeast,我已经添加了工作样本,你可以看看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 2016-02-29
  • 2015-07-06
  • 1970-01-01
相关资源
最近更新 更多