我对 JavaScript 的经验很少,无法弄清楚如何让它工作,这可能是一个非常小的修复,也可能是我完全不知道的重要问题......
我正在尝试为我的任务创建一个非常简单的登录名,安全性不是问题,因为它在简介中不是必需的。用户单击提交按钮的事件应该允许或拒绝用户进入站点。我已经对整个代码进行了评论,所以希望这将是一项快速的工作,可以发现任何问题。
它可能是我在 IF 语句中包含的“&”,我不确定它是否适用于 JavaScript。或者它可能是用户输入的调用,因为我也不确定我是否做对了;即 pass = 密码(来自表单)
JavaScript:
<script>
function loadpage() {
var user = username; //assigns user input to variable
var pass = password; //^^
var storedus = ["Jordan", "Marzia", "Ryan"]; //array of acceptable usernames
var storedps = ["123", "cat", "seven"]; //array of acceptable passwords
if (user = storedus & pass = storedps) //condition must include both an acceptable username and password to >>
{
window.location.href = "home.html"; // >> proceed to next the portal page(home.html)
}
else
{
window.alert("An invalid username or password was entered."); //if the users input was not acceptable then display a popup informing them so.
}
}
</script>
HTML 表格和表单:
<table style="position: absolute; left: 35%; top: 20%;"> <!- table to layout the form to take the users username and password to allow them to
gain entry into the site-!>
<form>
<tr><td><h2>Sign in</h2></td></tr>
<tr><td>Username*: </td><td><input type="username*" name="username" required></td></tr>
<tr><td>Password*: </td><td><input type="password*" name="password" required></td></tr>
<tr><td><input type="submit" name="signin" onclick="loadpage()"</td></tr>
</form>
</table>
预先感谢您的帮助!
最佳答案
您正在尝试将一个数组与我猜想的字符串进行比较。相反,您应该遍历数组并将值与用户名和密码进行比较。
var usernames = [
'Script47',
'SomeUsernname'
];
var passwords = [
'somePassword',
'password'
];
var username = 'Script47';
var password = 'somePassword'
for (var i = 0; i < usernames.length; i++) {
if (username == usernames[i] && password == passwords[i]) {
alert('Successful!');
break;
} else {
alert('Failed!')
}
}
请注意我是如何使用 &&
的。
示例
关于JavaScript 从数组简单登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34645249/