提交时未调用javascript函数

标签 javascript html

我已经编写了用于验证用户名和密码的简单 html javascript 代码,但是提交表单时未调用函数 authorize()。谁能帮我找出代码中的错误。我知道存在同样的问题,我确实关注了他们,但我找不到我的错误。谢谢。 下面是我的代码

<script type="type/javascript" >

    var users = {{"Username":"Sunny","Password":"Panzer"},{"Username":"Anjali","Password":"406460"}};

     function authorize()
    {
        var username= document.getElementById("username").value;
        var password = document.getElementById("password").value;

        for(var i=0;i<users.length;i++)
        {
            if(users[i].Username==username && users[i].Password==password)
            {
                return true;
            }
        }

        alert("invalid username or password");
        return false;
    }

</script>

<form action="enter_details.html" onsubmit="return authorize()" >
    <center>Username  <input type="text" id="username"></center><br><br>
    <center>Password  <input type="text" id="password"></center><br><br>
    <center><input type="submit" id="login_button"  value="Log In"></center>    
</form>

最佳答案

您应该将 JSON 数组括在方括号(而不是大括号)中,如下所示:

var users = [{
    "Username": "Sunny",
    "Password": "Panzer"
  },
  {
    "Username": "Anjali",
    "Password": "406460"
  }
];

function authorize() {
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;

  for (var i = 0; i < users.length; i++) {
    if (users[i].Username == username && users[i].Password == password) {
      return true;
    }
  }
  alert("invalid username or password");
  return false;
}
<form action="enter_details.html" onsubmit="return authorize()">
  <center>Username <input type="text" id="username"></center><br><br>
  <center>Password <input type="text" id="password"></center><br><br>
  <center><input type="submit" id="login_button" value="Log In"></center>
</form>

关于提交时未调用javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55780464/

相关文章:

javascript - 将 $http 与 Bootstrap UI 一起使用

javascript - 使用 jquery 在点击时淡入 body 背景

javascript - VideoJS v5 - 在 ES6 中添加自定义组件 - 我做得对吗?

javascript - 从 ng-repeat 输入框访问 Controller 中的 Angular 范围值

html - 在同一个div中添加新的a和span后,部分文本背景没有出现

html - 如何让 HTML div 在水平方向上动态扩展以适应窗口宽度?

java - 如何用java正确解析HTML?

html - 当文本很长时,li 下的文本会变得困惑

javascript - 在变量中声明一个 JavaScript 函数?

javascript - jQuery — 带有滚动边栏的固定内容