1
resposta

Não salva os itens

Utilizei o código abaixo:

var campos[ document.querySelector("#data"), document.querySelector("#quantidade"), document.querySelector("#valor") ];

console.log(campos); var tbody = document.querySelector('table tbody'); document.querySelector('.form').addEventListener('submit',function(event){ event.PreventDefault(); var tr = document.createElement('tr'); campos.forEach(function(campo){ var td = document.createElement('td'); td.textContent = campo.value; tr.appendChild(td); });

var tdVolume = document.createElement('td');
tdVolume.TextContent = campos[1].value * campos[2].value;
tr.AppendChild(tdVolume);
tbody.AppendChild(tr);

});

Só que não inclui o item na lista.

1 resposta

Oi Alessandra, Tudo bem?

Olha só.. sem o teu código completo não dá pra te ajudar mais especificamente porém observei alguns detalhes no teu código que podem ser corrigidos e talvez te entregue o que você está buscando.

Primeiramente você precisa incluir o sinal de atribuição na var campos...

// de:
var campos[ document.querySelector("#data"), document.querySelector("#quantidade"), document.querySelector("#valor") ];

// para:
var campos = [
  document.querySelector("#data"),
  document.querySelector("#quantidade"),
  document.querySelector("#valor"),
];

Após essa alteração peço que você altere alguns detalhes de letras maiúsculas (sim.. isso importa muito.. os métodos tem que ser chamados da forma que foram implementados).

// de:
event.PreventDefault()
tdVolume.TextContent = campos[1].value * campos[2].value;
tr.AppendChild(tdVolume);
tbody.AppendChild(tr);

// para:
event.preventDefault()
tdVolume.textContent = campos[1].value * campos[2].value;
tr.appendChild(tdVolume);
tbody.appendChild(tr);

Se você deixar o preventDefault() com o P maiúsculo a página irá recarregar toda vez que vc clicar no botao e isso fará voce perder seus dados nas variáveis. Troque para p minusculo, no inicio, que irá parar esse refresh e começará a renderizar os dados na tela.

Espero ter ajudado.

Caso não consiga, peço que coloque o código inteiro para verificarmos.

Abs.