I have a registration form. It successfully checks the value of password input and confirm_password input. (X changes to ✔️ if both passwords match) The thing is, after check mark appears, it looks like it gets stuck there! when I change the password, the check mark should change to X but it doesn't! It's stuck on ✔️!
<div id="confirm_pass2">
<span id="password_confirmation" class="unconfirmed_pass"></span>
</div>
<script>
var confirmation = document.getElementById("confirm_password");
confirmation.onfocus = function (){
document.getElementById("confirm_pass2").style.display = "block";
}
confirmation.onblur = function (){
document.getElementById("confirm_pass2").style.display = "none";
}
confirmation.onkeyup = function () {
if (document.getElementById("confirm_password").value.match(document.getElementById("password").value)){
document.getElementById("password_confirmation").classList.remove("unconfirmed_pass");
document.getElementById("password_confirmation").classList.add("confirmed_pass");
} }
</script>
<style>
#confirm_pass2 {
position: absolute;
display: none;
}
.confirmed_pass:before {
position: absolute;
font-size: 25px;
right: 642px;
bottom: 197px;
font-weight: bold;
color: green;
content: "✔";
}
.unconfirmed_pass:before {
font-family: calibri;
position: absolute;
right: 647px;
bottom: 205px;
font-size: 22px;
font-weight: bold;
color: red;
content: "X";
}
</style>
UPDATE I changed "match" to == and everything seems to be working fine.
if (document.getElementById("confirm_password").value == document.getElementById("password_new").value){...