检查密码 - 代码中的错误在哪里?

时间:2012-07-22 12:47:10

标签: javascript

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

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>

3 个答案:

答案 0 :(得分:2)

您要比较两个html元素,而不是它们的值。

if(pass1 != pass2) {

应该是

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

答案 1 :(得分:1)

首先,您要尝试比较两个输入元素,而不是它们的值。您需要访问其值属性。您还应尽可能使用严​​格比较运算符。

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

其次,您正在尝试使用document.layers,这是Netscape 4中的专有属性。

你需要一个更现代的指南,试试W3C的JavaScript core skils,遍历DOM的部分涵盖你正在处理的区域(但是如果你一直在使用提到layers的指南你是可能从开始时开始受益。)

答案 2 :(得分:0)

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

使用上面的代码。