2012-07-22 46 views
0

密码验证码,但不起作用。我的代码中的错误在哪里?检查密码 - 代码中的错误在哪里?

JS:

function checkPass() { 
var pass = document.getElementById('pass'); 
var pass2 = document.getElementById('pass2'); 

if(pass != pass2) { 
document.layers.passResponse.innerHTML = "Passwords did not Match!"; 
} else { 
document.layers.passResponse.innerHTML = "Passwords Match!"; 
} 
} 

HTML:

<div class="form-left">Password * </div> 
<div class="form-right"><input type="password" id="pass" name="pass" class="form-input" /></div> 
<div class="form-left">Confirm Password *</div> 
<div class="form-right"><input type="password" id="pass2" name="pass2" class="form-input" /></div> 
+4

其中,您正在比较**元素**,而不是**值**。 – 2012-07-22 12:48:08

回答

2

你是比较两个html元素,而不是他们的值。

if(pass1 != pass2) {

应该

if(pass1.value != pass2.value) { 
1

首先,您要比较两个输入元素,而不是它们的值。您需要访问它们的值属性。在可能的情况下,您还应该使用严格比较运算符。

if (pass1.value !== pass2.value) 

其次,你要使用document.layers,这是在Netscape看到4

你需要一个更现代的引导专有属性,尝试W3C的JavaScript core skils,在遍历DOM的部分覆盖(但如果您一直在与提及layers的指南一起工作,您可能从一开始就受益)。

0
if(pass.value != pass2.value) { 
document.layers.passResponse.innerHTML = "Passwords did not Match!"; 
} else { 
document.layers.passResponse.innerHTML = "Passwords Match!"; 
} 
} 

使用上面的代码。