2013-03-28 78 views
0

我爲我的網站製作了一個基本登錄頁面(這樣人們只能訪問他們需要的東西)。事情是,我已經多次查看代碼,並且似乎沒有任何問題。但是,身份驗證不起作用。代碼:
HTML5:JavaScript + HTML5中的簡單登錄表單不起作用

<!DOCTYPE html> 
<html> 
<head> 
<title>NSDCars5: Login</title> 
<script src="script123.js"></script> 
<link rel="stylesheet" type="text/css" href="style123.css" /> 
</head> 
<body> 
<div id="title"> 
<h1>Hey, there! Ready for some client-side scripting?</h1> 
<h2>So am I! Login here to continue.</h2> 
<h4>Or if you're a hacker kind, I'm using JavaScript to validate the form.</h4> 
</div> 
<div id="content"> 
<input type="text" id="username" />&nbsp; 
<input type="password" id="password" /><br /> 
<button onclick="checkForPassw()"><img src="icon.png" /></button><br /> 
</div> 
<div id="footer"></div> 
</body> 
</html> 

的JavaScript:

function checkForUname() { 
    var z = document.getElementById("password"); 
    if (z = "Gryffindor") { 
     var z = "dxoincu3rhi" 
     self.location = "\hiddencontent.html"; 
    } else { 
     document.getElementById("result").innerHTML = "You think I'm that stupid!?"; 
    } 
} 

function checkForPassw() { 
    var x = document.getElementById("username"); 
    if (x = "NSDCars5") { 
     var x = "3d3huiun"; 
     checkForUname(); 
    } else { 
     document.getElementById("result").innerHTML = "You think I'm that stupid!?"; 
    } 
} 

這裏有什麼問題嗎?

+0

錯過了'var z =「dxoincu3rhi」'後面的分號。你沒注意到嗎? – 2013-03-28 04:53:39

+0

是你的script123.js文件在你的html文件所在的同一個文件夾中? – Jalpesh 2013-03-28 04:54:12

+1

除了指出的一個@stf之外,我看到(至少)這個代碼有兩個問題。首先,你沒有考慮z和x的值,你只是自己得到元素。其次,你使用=而不是==來進行比較。應該是'if(x.value ==「NSDCars5」)'if(z.value ==「Gryffindor」)' – metadept 2013-03-28 04:58:24

回答

1

你的問題是在if語句中,當你檢查密碼和用戶名以及它們是什麼。 if語句應該是if(z=="Gryffindor")if(x=="NSDCars5")

+0

謝謝!這工作完美!我在JavaScript中仍然有點新,我需要練習。 :d – NSDCars5 2013-03-28 16:44:56

0

您可能需要更改函數的作用域。替換「功能checkForPassw(){」與

this.checkForPassw = function() { 

而且user2218363也是正確的 - 你將需要添加的==操作符來比較兩個值。