2016-08-01 5 views
0

2つのパスワードフィールドを比較して、一致するかどうかを確認しようとしています。これまでの私のHTML:keyupJquery - 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!"); 
    } 
}); 

問題と

<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のは、唯一の最初の文が表示されていることである "二度パスワードを挿入してください。"。私は入力時に値の変化を見ないと思う。少しの援助?

+0

なぜ 'pass1.length == 0 ||をチェックしないのですか? pass2.length == 0' – stackoverfloweth

+0

@godmodeに感謝しますが、他の2人はifとelseは動作しません! – 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.strength').val(); 

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

を変更しましたし、それが働きました。共有する場合、これはpluginです。

関連する問題