Ola pessoal!
Na primeira parte do exercicio, meu codigo ficou dessa forma:
var botaoAdicionar = document.querySelector('#adicionar-paciente');
function obtemPacienteDoFormulario() {
var form = document.querySelector('#form-adiciona');
var paciente = {
nome: form.nome.value,
peso: form.peso.value,
altura: form.altura.value,
gordura: form.gordura.value
}
return paciente;
}
botaoAdicionar.addEventListener('click', function(){
event.preventDefault();
obtemPacienteDoFormulario();
var pacienteTr = document.createElement('tr');
var nomeTd = document.createElement('td');
var pesoTd = document.createElement('td');
var alturaTd = document.createElement('td');
var gorduraTd = document.createElement('td');
var imcTd = document.createElement('td');
nomeTd.textContent = paciente.nome;
pesoTd.textContent = paciente.peso;
alturaTd.textContent = paciente.altura;
gorduraTd.textContent = paciente.gordura;
imcTd.textContent = calculaImc(peso, altura);
pacienteTr.appendChild(nomeTd);
pacienteTr.appendChild(pesoTd);
pacienteTr.appendChild(alturaTd);
pacienteTr.appendChild(gorduraTd);
pacienteTr.appendChild(imcTd);
var tabela = document.querySelector('#tabela');
tabela.appendChild(pacienteTr);
})
E esperava que, ao chamar a funcao anonima com o clique no botao adicionar, a funcao obtemPacienteDoFormulario
fosse selecionar o formulario com a var form
, criar e retornar o objeto para dentro da funcao anonima.
Mas nao funcionou. Ao inves disso, o novo paciente foi adicionado sem nome, peso, altura e gordura, e com o imc do paciente anterior.
Por que isso aconteceu?