2012-07-22 45 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!"; 
} 
} 

使用上面的代碼。