Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

236
Vistas
Almacene múltiples valores de entrada de formulario en el almacenamiento local en JavaScript en forma de matriz

Estoy tratando de guardar los valores de entrada enviados a través del formulario en el almacenamiento local en forma de matriz, pero una vez que el formulario se envía nuevamente, el valor guardado en el almacenamiento local se cambia con el nuevo valor enviado como el

 function bookDetails(bookName,bookAuthor,bookType) { this.name = bookName; this.author = bookAuthor; this.type = bookType; } let libraryForm = document.getElementById("bookForm"); libraryForm.addEventListener("submit", libraryBooksDetails); function libraryBooksDetails(e,index) { e.preventDefault(); console.log("The book details have been submitted"); let bookName = document.getElementById("bookName").value; let bookAuthor = document.getElementById("author").value; let bookType; let fiction = document.getElementById("Fiction"); let programming = document.getElementById("ComputerProgramming"); let personal = document.getElementById("PersonalDevelopement"); if(fiction.checked){ bookType = fiction.value; } else if(programming.checked){ bookType = programming.value; } else if(personal.checked){ bookType = personal.value; } // BookDetails Object let book = new bookDetails(bookName,bookAuthor,bookType); let bookData = "" bookData = bookData || []; let nameOfBooks = bookData.concat(bookName) // let nameOfBooks = bookData // nameOfBooks.push(book.bookName); localStore.setItem("books",JSON.stringify(nameOfBooks)) console.log(book); let display = new Display() display.add(book); display.clear(); }

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No estoy seguro de entender la pregunta por completo porque está configurando el valor let book = new bookDetails pero eso no es lo que está almacenando en el almacenamiento local.

 // First time bookData value is set, this is always an empty string let bookData = ""; // Since empty string is a falsey value, bookData value is re-set to an empty array bookData = bookData || []; // nameOfBooks is initialised as an array with one value of bookName let nameOfBooks = bookData.concat(bookName); // books key in local storage is a stringified array with one item localStore.setItem("books", JSON.stringify(nameOfBooks));

localStorage.setItem(key, value) siempre reemplazará el valor existente en esa clave. Si desea agregar al valor almacenado, primero obtenga el valor y analícelo antes de agregar el nuevo valor.

 const oldValue = localStorage.getItem('books'); const parsed = JSON.parse(oldValue); const newValue = parsed.concat(nameOfBooks); localStorage.setItem('books', JSON.stringify(newValue));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda