Javascript 即使在填写了正确的凭据之后,验证也不起作用
我今天开始学习Javascript和DOM,现在我有点被这个问题困扰。请通读以下代码行,帮助我找出哪里出了问题。不管我在输入字段中键入什么,我都会在else块中着陆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
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) {