Просто измените свой код 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
в глобальном масштабе, он просто запускается один раз, когда браузер впервые оценивает коды.
Перемещая полученные переменные в button
событие клика, вы будете получать их каждый раз, когда это событие срабатывает.
Edit:
Также указанная здесь функция имеет неверные аргументы.
button.addEventListener("click", function(user, pwd) {
Вы не можете получить user
и pwd
от слушателя. Это даст вам event
этого триггера.
Вы можете проверить это здесь: HTML DOM addEventListener () Метод
Когда событие происходит, объект события передается функции как
первый параметр. Тип объекта события зависит от
указанное событие. Например, событие «click» принадлежит
Объект MouseEvent.