2014-02-28 221 views
0

我有一個簡單的註冊表格,我決定添加確認密碼的功能,即使我輸入不同的密碼也不會檢查!
我的代碼中是否有錯誤?密碼確認Javascript

$(document).ready(function(){ 
$('input[name=c_password]').keyup(password_check); 

}); 
function password_check(){ 
var password = $('input[name=password]').val(); 
var c_password = $('input[name=c_password]').val(); 
if(c_password != password || c_password.length < 6){ 
    //alert("test"); 
    $('input[name=c_password]').parent().addClass("has-error has-feedback"); 
}else{ 
    $('input[name=c_password]').parent().removeClass("has-success has-feedback"); 

} 
} 

謝謝!

演示:http://jsfiddle.net/52VtD/3217/

+2

你在期待,如果密碼不匹配的情況發生? – Phil

+0

我想輸入框的邊框變爲紅色 – user3350731

+0

您是否因爲原因刪除了網址? :) –

回答

3

您的代碼幾乎是正確的,只是你忘記刪除在正確的c_password的情況下,類有錯誤。

$('input[name=c_password]').parent().removeClass("has-error") 

http://jsfiddle.net/52VtD/3221/

+1

謝謝!我完全忘了!我現在更新它:http://jsfiddle.net/52VtD/3222/ – user3350731

+1

您不需要刪除if-then-else內部的類,因爲它們在函數的開頭被刪除 – marciojc

+0

您實際上對 ! – user3350731

1
if(c_password != password || c_password.length < 6){ 
    //alert("test"); 
    $('input[name$=password]').parent().addClass("has-error has-feedback"); 
}else{ 
... 
    (you need put a 'url' on ajax) 
1

它看起來像你剛剛中省略一些代碼。從您提供什麼我猜你想是這樣的:

if(c_password != password || c_password.length < 6){ 
    // This is the additional code 
    $('input[name=c_password]').parent().addClass("has-error has-feedback"); 
}else{ 

    jQuery.ajax({ 
     success: function(response){ 
... 
} 
} 

東西沿着這些線路應該突出一個錯誤給用戶。不要忘記驗證服務器端,客戶端只是爲了方便用戶。

編輯:實際上,我們忽略了最後的編輯:/

+0

不錯。你的代碼就像我的,但我已經downvote? – Falci

+0

不是從我,不知道爲什麼發生。 – Phil

+0

我很抱歉,但我沒有工作! http://jsfiddle.net/52VtD/3217/ – user3350731