ユーザーが入力した最初のパスワードと2番目のパスワードが実際に同じであることを検証する簡単なフォームを作成しようとしています。もしそうなら、これを確認するパスワード入力の右側に画像を表示したいと思います。
コードのほとんどの側面が機能しています。ただし、replaceWith()を正しく機能させることができないようです。以下のコードは、ユーザーが最初のパスワードを入力し、2番目のパスワードを入力し、両方が同じである場合に正しい画像を表示します。ただし、ユーザーが最初のパスワードまたは2番目のパスワードのいずれかを編集して不一致が発生した場合、replaceWith()は画像を変更してこれを通知しません。
私が見逃しているものや間違って使用しているものについての洞察は素晴らしいでしょう。
ありがとう!
HTMLは次のとおりです。
echo '<form id="collect" action="add_new_user.php" method="POST" >';
echo '<table class="sign_up">';
// ask to create login
echo '<tr><td><h2 class="nl">Login email</h2></td><td><input type="text" name="login_email" id="login_email" class="log" /></td><td><p id="email_status"></p><td></tr>';
// ask to create password
echo '<tr><td><h2 class="nl">Enter password</h2></td><td><input type="password" name="pass_one" id="pass_one" class="log" /></td></tr>';
// ask to confirm password
echo '<tr><td><h2 class="nl">Confirm password</h2></td><td><input type="password" name="pass_confirm" id="pass_confirm" class="log" /></td><td id="pass_status"></td></tr>';
echo '<tr><td><input id="register" type="submit" value="Finish registration!" class="begin_mod_button" /></td></tr>';
echo '</table>';
echo '</form>';
jQueryは次のとおりです。
$('#pass_confirm').focusout(function(login){
var confirm = $(this).val();
var pass = $('#pass_one').val();
if(confirm == pass){
$('#pass_status').replaceWith('<img src="images/greendot.png" />');
}
else{
$('#pass_status').replaceWith('<img src="images/reddot.png" />');
}
});