Estoy tratando de cambiar el color de una etiqueta cada vez que se cambia el texto de la contraseña para verificar y ver si se cumplen todos los parámetros de la contraseña (es decir, letra mayúscula, número, símbolo, etc.).
Tengo problemas para que el detector de eventos reconozca un evento onChange o onKeyUp y ejecute el código que he definido para que se ejecute. esto es lo que he intentado hasta ahora:
document.querySelector("password").AddEventListener("Change", function() { if (checkpw(document.querySelector("password").value)) == True) { document.querySelector("pw").style.color = "#00ff00" }else{ document.querySelector("pw").style.color = "#ff0000" } } })con
<label for="password" id="pw">Password:</label> <input type="password" name="password" id="password"><br>y
function checkpw(what) { let sm = 0; let lg = 0; let num = 0; let sym = 0; for (let i = 0; i < what.len(); i++) { wstr = what.toString(); vchr = wstr.charCodeAt(i); if (vchr > 40 && vchr < 127) { if (vchr > 47 && vchr < 58) { num = 1; }else if (vchr > 64 && vchr < 91) { lg = 1; }else if (vchr > 96 && vchr < 123) { sm = 1; }else{ sym = 1; } } } if (sm && lg && num && sym) { return true; }else{ return false; }}He probado varias variaciones en los eventlisteners como getElementById("pw").onChange = function(), onKeyUp, onKeyDown, "KeyUp", "KeyDown". Puse una alerta solo para ver si me alertará cuando se cambie el texto y no recibo la alerta, así que sé que es mi sintaxis en el detector de eventos o el selector de consultas. si alguien sabe lo que estoy haciendo por favor hágamelo saber. Gracias por adelantado
En lugar de 'cambiar', intente usar 'entrada' eventListener, activará el evento en cada entrada en el campo de entrada.
field.addEventListener('input', () => { //do something })