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

3 回答 3

2

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

if(pass1 != pass2) {

应该

if(pass1.value != pass2.value) {
于 2012-07-22T12:48:08.627 回答
1

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

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

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

您需要更现代的指南,尝试 W3C 的JavaScript 核心技能,遍历 DOM 部分涵盖了您正在处理的领域(但如果您一直在使用提到layers您可能会从一开始就受益的指南)。

于 2012-07-22T12:47:52.913 回答
0
if(pass.value != pass2.value) {
document.layers.passResponse.innerHTML = "Passwords did not Match!";
} else {
document.layers.passResponse.innerHTML = "Passwords Match!";
}
}

使用上面的代码。

于 2012-07-22T12:48:42.713 回答