1
resposta

Problema no push

O push está dando erro e não estou conseguindo resolver esse problema.

const formulario = document.querySelector('#novoItem');
const lista = document.getElementById('lista');
const itens = JSON.parse(localStorage.getItem("itens")) || [];

formulario.addEventListener("submit", (evento)=>{
    evento.preventDefault()

    criaElemento(evento.target.elements['nome'].value, evento.target.elements['quantidade'].value);
});

function criaElemento(nome, quantidade){

    //<li class="item"><strong>5</strong>camisas</li>
    const novoItem = document.createElement('li');
    novoItem.classList.add("item");
    const numeroItem = document.createElement('strong');
    numeroItem.innerHTML = quantidade;

    novoItem.appendChild(numeroItem);
    novoItem.innerHTML += nome;

    lista.appendChild(novoItem);

    const itemAtual = {
        "nome": nome,
        "quantidade":quantidade
    }

    itens.push(itemAtual);

    localStorage.setItem("itens", JSON.stringify(itens));


}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Acho que está faltando código aí

/* console.log(document.getElementById("novoItem")); */
const form = document.getElementById("novoItem");
const lista = document.getElementById("lista");
const itens = JSON.parse(localStorage.getItem("itens")) || [];
console.log(itens);
console.log([]);

itens.forEach((elemento) => {
    console.log(elemento.nome, elemento.quantidade);
});

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

    const nome = e.target.elements['nome'];
    const quantidade = e.target.elements['quantidade'];

    e.target[0].value;

    console.log("funcionou!");
    /* console.log(e.target[0].value);
    console.log(e.target[1].value);
    console.log(e.target.elements['nome'].value);
    console.log(e.target.elements['quantidade'].value); */

    criarElemento(nome.value, quantidade.value);

    nome.value = "";
    quantidade.value = "";
})

function criarElemento(nome, quantidade){
   /*  console.log(nome);
    console.log(quantidade); */
    const novoItem = document.createElement("li");
    novoItem.classList.add("item");

    const numeroItem = document.createElement("strong");
    numeroItem.innerHTML = quantidade;
    novoItem.appendChild(numeroItem);

    novoItem.innerHTML += nome;

    lista.appendChild(novoItem);
    /* console.log(novoItem);
    console.log(numeroItem); */

    const itemAtual = {
        "nome": nome,
        "quantidade": quantidade,
    }

    itens.push(itemAtual);

    localStorage.setItem("itens", JSON.stringify(itens));
}