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

138
Vistas
Implement local storage for todo list

Having an issue with implementing Local Storage into my To-do list. I watched a ton of videos, understood the syntax etc. but I cannot figure out how to implement it into my code. What am trying to achieve is for the To-do app to save the tasks(make them stay at the site after reload) and store them inside the local storage.

window.addEventListener('load', () => {
     const form = document.querySelector("#new-task-form");
     const input = document.querySelector("#new-task-input");
     const list_el = document.querySelector("#tasks");
     const storeTasks = [];

     localStorage.setItem('Stored Task', JSON.stringify(storeTasks));
     storeTasks.append(input.value);
     localStorage.getItem('Stored Task');

     console.log(storeTasks);

      /*localStorage.setItem('tasks', "list_el");
      localStorage.getItem('list_el');*/
     console.log(list_el);

     form.addEventListener('submit', (e) => {
         e.preventDefault();

         const task = input.value;

         if (!task) {
            alert("Add onto the bucketlist!");
            return "";
         }

        const task_el = document.createElement('div');
        task_el.classList.add('task');

        const task_content_el = document.createElement('div');
        task_content_el.classList.add('content');

        task_el.appendChild(task_content_el);

        const task_input_el = document.createElement('input');
        task_input_el.classList.add('text');
        task_input_el.type = 'text';
        task_input_el.value = task;
        task_input_el.setAttribute('readonly', 'readonly');

        task_content_el.appendChild(task_input_el);

        
        const task_actions_el = document.createElement('div');
        task_actions_el.classList.add('actions');
        
        const task_edit_el = document.createElement('button');
        task_edit_el.classList.add('edit');
        task_edit_el.innerText = 'Edit';
        
        const task_delete_el = document.createElement('button');
        task_delete_el.classList.add('delete');
        task_delete_el.innerText = 'Delete';
        
        task_actions_el.appendChild(task_edit_el);
        task_actions_el.appendChild(task_delete_el);

        task_el.appendChild(task_actions_el);
        

        list_el.appendChild(task_el);

        input.value = '';

        task_edit_el.addEventListener('click', (e) => {
            if (task_edit_el.innerText.toLowerCase() == "edit") { 
            task_edit_el.innerText = "Save";
            task_input_el.removeAttribute("readonly");
            task_input_el.focus();
            } else {
                task_edit_el.innerText = "Edit";
                task_input_el.setAttribute("readonly", "readonly");
            }
        });

             task_delete_el.addEventListener('click', (e) => {
                list_el.removeChild(task_el);
        });
    });
});

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

0

It appears the problem is that you save the list to the local storage before you add items to it.

And then try to change it. LocalStorage doesn't "update" when you change the variable you saved. It updates when you tell it to update, so you need to call localStorage.setItem whenever you add new items.

And remember that localStorage saves a String, so you gonna need to JSON.parse your result from localStorage.getItem to turn it back into JS object.

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