Javascript 即使在填写了正确的凭据之后,验证也不起作用

Javascript 即使在填写了正确的凭据之后,验证也不起作用,javascript,html,forms,validation,Javascript,Html,Forms,Validation,我今天开始学习Javascript和DOM,现在我有点被这个问题困扰。请通读以下代码行,帮助我找出哪里出了问题。不管我在输入字段中键入什么,我都会在else块中着陆 var user1={ 用户名:“Amit”, 密码:“123321”, }; var user2={ 用户名:“阿米尔”, 密码:“123456”, }; var数据库=[user1,user2]; var user=document.getElementById(“用户名”).value; var pwd=document.g

我今天开始学习Javascript和DOM,现在我有点被这个问题困扰。请通读以下代码行,帮助我找出哪里出了问题。不管我在输入字段中键入什么,我都会在else块中着陆

var user1={
用户名:“Amit”,
密码:“123321”,
};
var user2={
用户名:“阿米尔”,
密码:“123456”,
};
var数据库=[user1,user2];
var user=document.getElementById(“用户名”).value;
var pwd=document.getElementById(“密码”).value;
var i;var按钮=document.getElementById(“btn”);
函数isUserValid(用户,pwd){
对于(i=0;i

Javascript
用户名:
密码:
登录
只需更改javascript代码,如下所示:

var user1 = {
    username: "Amit",
    password: "123321",
};

var user2 = {
    username: "Amir",
    password: "123456",
};

var database = [user1, user2];

var button = document.getElementById("btn");

function isUserValid(user, pwd){
    var result = false;
    for(var i = 0; i < database.length; i++){
        if(user == database[i].username && pwd == database[i].password){
            result = true;
            break;
        }
    }
    return result
}

button.addEventListener("click", function() {
    var user = document.getElementById("user_name").value;
    var pwd = document.getElementById("password").value;
    if (isUserValid(user, pwd))
        alert("Welcome " + user);
    else
        alert("Oops! wrong credentials");
})
您无法从侦听器获取
user
pwd
。它将为您提供该触发器的
事件
。 您可以在此处查看:

当事件发生时,事件对象作为 第一个参数。事件对象的类型取决于 指定的事件。例如,“单击”事件属于 MouseEvent对象


这些变量似乎不正确:
if(usr==database[i]。username&&pas==database[i]。password)
对于“usr”,不应该是“user”,而pas应该是“pwd”?您传入了用户和pwd,所以看起来您的问题与循环中的变量名有关?哦,对不起,这是一个输入错误。我只使用“用户”和“pwd”。由于有人在回答你,你不必修改你的问题,否则这将使所有答案无效…@SibasishMohanty请检查我的答案。希望这将有助于你在if块中重新设置为真,以及以下建议的更改有助于解决此问题。谢谢:)
button.addEventListener("click", function(user, pwd) {