Estoy tratando de mostrar el aviso cada vez que el usuario da una entrada nula o incorrecta. Solo al dar la entrada correcta, el aviso desaparecerá y se mostrará una alerta. Este es mi código:
var pass=prompt("Please enter the password to view your recovery code."); while(true){ if(pass=="abc"){ break; } else var pass=prompt("Please enter the password to view your recovery code."); } alert("correct"); Ahora, incluso si doy el valor correcto ( abc ), el aviso permanece y la alert nunca se muestra. ¿Por qué?
Puede ser más simple que eso. Agregue el mensaje dentro del ciclo y rompa si la contraseña coincide.
while (true) { const pass = prompt('Please enter the password to view your recovery code.'); if (pass === 'abc') { console.log('Correct!'); break; } }El error se debió a que había redefinido la variable pass con la línea var pass=prompt(...)
También debería considerar usar let en lugar de var
Además, actualicé la condición para hacer algo un poco más limpio.
let pass = prompt("Please enter the password to view your recovery code."); while(pass !== "abc"){ pass = prompt("Please enter the password to view your recovery code."); } alert("correct");