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

Duvida no meu código

Meu código está voltando um erro no console que não consegui identificar: Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

Estou tentando montar a function de montaTr conforme o vídeo mas está dando esse erro

var botaoAdicionar = document.querySelector("#adicionar-paciente");

botaoAdicionar.addEventListener("click", function(event) {
   event.preventDefault();

    var form = document.querySelector("#form-adiciona");

    var paciente = obtemPacienteDoFormulario(form);

    var pacienteTr = montaTr;

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

    tabela.appendChild(pacienteTr);

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

    function montaTr(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 pacienteTr;
    }

    function montarTd (dado, classe) {

        var td = document.createElement("td");
        td.classList.add(classe)
        td.textContent = dado;

        return td;
    }


});
2 respostas
solução!

Olá! Boa noite!

Repare que na sua variável

    var pacienteTr = montaTr;

A função montaTr precisa receber o parâmetro "paciente", logo, só você alterar nessa linha para:

    var pacienteTr = montaTr(paciente);

Abraço!

Valeeeu Carloss!