我正在嘗試一個HTML/JS登錄系統(這只是一種學習體驗,不能用於真實案例)有一條if語句應該在有人輸入正確的用戶名和密碼時返回true,但返回false,我找不到原因。 這裏是我使用的代碼:javascript「if」語句在兩個值相等時返回false值
var count = 2;
function validate() {
var un = document.login.username.value;
var pw = document.login.password.value;
var valid = false;
var usernameArray = ["Adam", "Adam2"];
var passwordArray = ["12345", "54321"];
for (var i = 0; i < usernameArray.length; i++) {
if ((un == usernameArray[i]) && (pw == passwordArray[i])) {
valid = true;
break;
}
if (valid) {
alert("Logging in...");
window.location.href = "http://www.google.com";
return false;
}
var again = " tries";
if (count == 1) {
again = " try";
}
if (count >= 1) {
alert("Username and password do not match.");
count--;
} else {
alert("Username and password do not match. You are now blocked.")
document.login.username.value = "You are now blocked";
document.login.password.value = "You can not see this";
document.login.username.disabled = true;
document.login.password.disabled = true;
return false;
}
}
}
<div class="container">
<div class="header">
<h1>Login Page</h1>
</div>
<form name="login" onsubmit="return validateForm();" method="post">
<ul>
<li>Username:
<input class="username" type="text" name="username">
</li>
<li>Password:
<input class="password" type="password" name="password">
</li>
</ul>
<input type="button" class="submit" value="Login" name="submit" onclick="validate()">
</form>
</div>
你有[檢查你的錯誤控制檯?(http://stackoverflow.com/documentation/javascript/185/getting-started-with-javascript/714/using-console -log) –
'break;'嗯.....我想知道那是什麼。 –
在if語句之外擁有第二個value = true;將認爲任何用戶(無論憑證是否匹配)都是有效的。我希望這是測試,因爲我不認爲這是你想要的。 – War10ck