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

Problema

Esse é todo o meu código do form.js e estou com problema no momento do appendChild

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

  var form = document.querySelector("#form-adiciona");
  //extraindo infomações do paciente do form
  var paciente = obtemPacienteDoForm(form);
  //cria tr e td paciente
  var pacienteTr = montaTr(paciente);
  //adicionando paciente na tabela
  var tabela = document.querySelector("#tabela-pacientes");
  tabela.appendChild(pacienteTr);

  form.reset;

});

function obtemPacienteDoForm(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");

  var nomeTd = montaTd(paciente.nome,"info-nome");
  var pesoTd = montaTd(paciente.peso,"info-peso");
  var alturaTd = montaTd(paciente.altura,"info-altura");
  var gorduraTd = montaTd(paciente.gordura,"info-gordura");
  var imcTd = montaTd(paciente.imc,"info-imc");
**************************************** aqui está o problema 
  **pacienteTr.appendChild(nomeTd);**
  pacienteTr.appendChild(pesoTd);
  pacienteTr.appendChild(alturaTd);
  pacienteTr.appendChild(gorduraTd);
  pacienteTr.appendChild(imcTd);

  return pacienteTr;
}

function montaTd(dado,classe){
  var td = document.createElement("td");
  td.textContent = dado;
  td.classList.add(classe);
}
3 respostas
solução!

Achei o erro, estava faltando o:

return td;

Ah! Está dentro da função montaTd.

Olá, Luiz.

Qual é mensagem de erro que você está recebendo no console do browser?

Marcos, obrigado por atentar à essa dúvida minha.

O erro não lembro direito.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software