O erro:
Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'. form.js:12
at HTMLButtonElement.<anonymous> (form.js:12:12)
Já revisei o código e não achei o que está errado com appendChild
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(paciente);
var tabela = document.querySelector('#tabela-pacientes');
tabela.appendChild(pacienteTr);
form.reset();
});
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(montaTd(paciente.nome, 'info-nome'));
pacienteTr.appendChild(montaTd(paciente.peso, 'info-peso'));
pacienteTr.appendChild(montaTd(paciente.altura, 'info-altura'));
pacienteTr.appendChild(montaTd(paciente.gordura, 'info-gordura'));
pacienteTr.appendChild(montaTd(paciente.imc, 'info-imc'));
}
function montaTd(dado, classe) {
var td = document.createElement('td');
td.textContent = dado;
td.classList.add(classe);
return td;
}