Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao clicar no botão Adicionar

Sei que o tópico já foi resolvido antes, mas no meu continua sem funcionar. Ao clicar no botão "Adicionar" recebo o seguinte erro:

Uncaught TypeError: Cannot read property 'appendChild' of null
    at HTMLButtonElement.<anonymous>

O código está na seguinte forma até o momento:

var botaoAdd = document.querySelector("#adicionar-paciente");
botaoAdd.addEventListener("click",
function (event)
{
    event.preventDefault();

    var form = document.querySelector("#formVal");
    var paciente = obterPaciente(form);

    var pacienteTr = montarTr(paciente);

    var tabela = document.querySelector("#tabela-pacientes");

    tabela.appendChild(pacienteTr);

    form.reset();

});

function obterPaciente(form)
{
    var paciente = 
    {
        nome: form.nome.value,
        peso: form.peso.value,
        altura: form.altura.value,
        gordura: form.gordura.value,
        imc: calcularImc(form.peso.value, form.altura.value)
    }
    return paciente;

}

function montarTr(paciente)
{
    var pacienteTr = document.createElement("tr");
    pacienteTr.classList.add("paciente");

    pacienteTr.appendChild(montarTd(paciente.nome, "info-nome"));
    pacienteTr.appendChild(montarTd(paciente.peso, "info-peso"));
    pacienteTr.appendChild(montarTd(paciente.altura, "info-altura"));
    pacienteTr.appendChild(montarTd(paciente.gordura, "info-gordura"));
    pacienteTr.appendChild(montarTd(paciente.imc, "info-imc"));

    return montarTr;

}

function montarTd(dado, classe)
{
    var td = document.querySelector("td");
    td.textContent = dado;
    td.classList.add(classe);

    return td;

}
2 respostas
solução!

Boa noite, Henrique! Como vai?

Vc poderia compartilhar todo o seu projeto no github e mandar o link aqui? Assim poderei dar uma olhada no que está acontecendo para tentar te ajudar de forma efetiva.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Eu consegui solucionar o problema baixando o projeto do ponto que eu parei, agora está funcionado perfeitamente. Muito obrigado pela ajuda.