soy nuevo en javascript y no pude averiguar cómo hacerlo correctamente. Estaba tratando de crear una página simple que le permita al usuario ingresar su nombre de usuario y contraseña correctamente, pero si ingresan un nombre de usuario o contraseña no válidos 3 veces, no se les permitirá ingresar nuevamente. aquí está mi código:
var UserInfo=[ { username:"elliot", password:"123" }, { username:"nicholas", password:"456" }, { username:"rose", password:"789" }, { username:"samantha", password:"987" }, { username:"austin", password:"654" } ] document.getElementById("btn").onclick=function(){ var username=document.getElementById("un").value var password=document.getElementById("pw").value for(i=0;i<4;i++){ if (username==UserInfo[i].username && password==UserInfo[i].password){ alert("Successfully logged in!"); }else{ alert("Please try again."); } } }No puedes usar for loop para eso. Necesita un contador para contar cuántos intentos y aumentar ese contador cada vez que el usuario comete un error. Prueba algo como esto:
let attempts = 0 document.getElementById("btn").onclick=function(){ var username=document.getElementById("un").value var password=document.getElementById("pw").value if(attempts>=3){ alert("Sorry. Too many attempts."); } else{ if (UserInfo.find(el=> el.username === username && el.password === password)){ alert("Successfully logged in!"); }else{ attempts++ alert("Please try again."); } } }