Estoy creando una página web de inicio de sesión simple con JavaScript y usando Chrome. Tengo un área para iniciar sesión y otra para registrar un nuevo usuario. Mi problema es que he creado una matriz y la estoy almacenando en el almacenamiento local. Cada vez que ocurre un nuevo registro, sus valores anulan los anteriores en el almacenamiento local. ¿Cómo puedo hacer que la información de los nuevos usuarios se agregue a la matriz mientras se mantienen los anteriores? El código sigue: `
const loginForm = document.getElementById("loginForm"); const loginButton = document.getElementById("loginButton"); const loginError = document.getElementById("loginError"); const registerForm = document.getElementById("registerForm"); const registerButton = document.getElementById( "registerButton"); const registerError = document.getElementById("registerError"); loginButton.addEventListener("click", (e)=> { e.preventDefault(); const username = loginForm.username.value; const password = loginForm.password.value; /*WILL WORK ON THIS AFTER REGISTER IS OKAY*/ if(username === "user" && password ==="123"){ alert("Login sucessful!"); location.reload(); } else { loginError.style.opacity = 2; } }) registerButton.addEventListener("click", (e)=> { e.preventDefault(); const registerUsername = registerForm.registerUsername.value; const registerPassword = registerForm.registerPassword.value; const confirmPassword = registerForm.confirmPassword.value; const registerEmail = registerForm.registerEmail.value; const userData = {registerUsername, registerPassword}; let registredUserData = []; if(registerPassword.length > 8 && registerPassword.match(/[az]+/) && registerPassword.match(/[AZ]+/) && registerPassword.match(/[0-9]+/) && registerPassword.match(/[$@#&!]+/) && registerPassword === confirmPassword && registerEmail.match(/[@/]+/ ) ){ /*ERROR HERE.LOCAL STORAGE IS OVERWRITTEN*/ JSON.parse(localStorage.getItem("registred users")); registredUserData.push(userData); localStorage.setItem("registred users",JSON.stringify(registredUserData)); location.reload(); } else { registerError.style.opacity = 2; } })No está asignando una variable registredUserData en línea después de un comentario. Esa sección probablemente debería verse así.
registredUserData = JSON.parse(localStorage.getItem("registred users")); registredUserData.push(userData); localStorage.setItem("registred users",JSON.stringify(registredUserData));