密码验证码,但不起作用。我的代码中的错误在哪里?
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>
答案 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!";
}
}
使用上面的代码。