2016-08-01 27 views
0

我想比較2個密碼字段,並顯示如果他們匹配或不。到目前爲止,我的html:jquery-比較密碼與keyup事件不會工作

<div class="row top-25"> 
    <div class="col-sm-6"> 
     <p><?php echo __('New Password', "KleeiaDev"); ?></p> 
     <p><input id="pass1" type="password" value="" class="form-control info-input" name="password" /></p> 
    </div> 
    <div class="col-sm-6"> 
     <p><?php echo __('Repeat Password', "KleeiaDev"); ?>:</p> 
     <p><input id="pass2" type="password" value="" class="form-control info-input" name="reppassword" /></p> 
     <div id="match"></div> 
    </div> 
</div> 

我的jQuery與keyup

$('#pass1, #pass2').on('keyup', function(event) { 
    var pass1 = $('input[name=password]').val(); 
    var pass2 = $('input[name=reppassword]').val(); 
    if(($('input[name=password]').val().length == 0) || ($('input[name=reppassword]').val().length == 0)){ 
     $('#match').css({ 
      width:'100%', 
      background: '#FFA0A0', 
      border: '1px solid #FFA0A0' 
     }).text("Please insert your password twice."); 
    } 
    else if(pass1 != pass2){ 
     $('#match').css({ 
      width:'100%', 
      background: '#FFA0A0', 
      border: '1px solid #FFA0A0' 
     }).text("Mmm... Passwords don't match."); 
    } else { 
     $('#match').css({ 
      width:'100%', 
      background: '#C3FF88', 
      border: '1px solid #C3FF88' 
     }).text("Great!"); 
    } 
}); 

問題是隻有第一句顯示 「請插入您的密碼兩次。」我想它在輸入時看不到值的變化。一點幫助?

+0

爲什麼不檢查'pass1.length == 0 || pass2.length == 0' – stackoverfloweth

+0

感謝@ godmode,但其他2如果和否則將無法正常工作! – XiLab

+0

您是否嘗試過使用'console.log(pass1,pass2)'來查看是否有實際值? – stackoverfloweth

回答

0

對於其他正在通過的用戶,以前的代碼正在工作!問題是我正在使用密碼強度檢查器插件,它在第一個密碼字段(pass1)上創建了一個隱藏的input。喜歡的東西:

<input id="pass1" type="password" class="form-control info-input strength" name="password" data-password="pass1"> 
<!--This is the input guilty--> 
<input style="display:none" class="strength form-control info-input" data-password="pass1" type="text" name="" value=""> 
<input id="pass2" type="password" class="form-control info-input" name="rep password"> 

我只是改變

var pass1 = $('input[name=password]').val(); 

var pass1 = $('input.strength').val(); 

和它的工作。只是爲了分享,這是plugin