Estoy tratando de hacer un cambio de visibilidad de contraseña porque algunos navegadores no tienen uno como Microsoft Edge.
Aquí está el código:
<input type="password" name="password" placeholder="Creati o parola"> <input type="checkbox" onclick="visibility()" id="pass_visible"> <label for="pass_visible"><i id="pass_icon" class="bi bi-eye"></i></label> function visibility() { var x = document.getElementsByName("password"); if(x.type === "password") { x.type = "text"; document.getElementById("pass_icon").className = "bi bi-eye-slash"; } else { x.type = "password"; document.getElementById("pass_icon").className = "bi bi-eye"; } }El problema es que por alguna razón solo cambia "pass_icon". El tipo de x permanece igual.
Debe cambiar el tipo de contraseña a texto y viceversa cuando presiona el interruptor de palanca.
<input type="password" name="password" id="password" placeholder="Creati o parola"> function visibility() { const passwordEle = document.getElementById('password'); const type = passwordEle.getAttribute('type'); passwordEle.setAttribute('type', type === 'password' ? 'text' :'password'); }