Olá, Boa noite!
Conforme as aulas do curso o instrutor explica como refatorar o código já feito, o quebra em várias partes para facilitar a manutenção do mesmo e outras n vantagens, porém quando eu fiz o meu próprio código não está funcionando :( Poderiam me ajudar ?
Segue o código completo do js:
var botao = document.querySelector(".botao");
//Evento atrelado ao botão de calcular que executará um bloco de instruções a medida que for submetido.
botao.addEventListener("click", function(event){
event.preventDefault();
var form = document.querySelector(".formulario");
var mensagem = document.querySelector(".mensagem");
var usuario = ObtemDadosDoUsuario(form);
//Recebendo os valores das função mediante ao seu retorno.
var resultado = calculaImc(peso,altura);
var msg = verificaImc(resultado);
//Função que obtem os dados digitados pelo usuário//
function ObtemDadosDoUsuario(form){
//Criando um objeto usuário//
var usuario = {
nome: form.nome.value,
peso: form.peso.value,
altura: form.altura.value,
sexo: form.sexo.value
}
return usuario;
}
//Função que realiza o calculo de imc//
function calculaImc(peso, altura){
var imc = 0;
imc = usuario.peso / (usuario.altura * usuario.altura);
return imc.toFixed(2);
}
//Função que verifica se o imc está de acordo com as normas do ministério da saúde//
function verificaImc(resultado){
if(resultado >= 18 && resultado <= 35){
mensagem.classList.add("resposta-imc-excelente");
mensagem.textContent = (usuario.nome + " Seu imc é " + resultado+ " e está excelente");
}
if(resultado < 18){
mensagem.classList.add("resposta-imc-baixo");
mensagem.textContent = (usuario.nome + " Atenção! Seu Imc é " + resultado + " e está muito abaixo da média " );
}
if(resultado > 35){
mensagem.classList.add("resposta-imc-acima");
mensagem.textContent = (usuario.nome + " Atenção! Seu Imc é " + resultado + " e está muito acima da média, não deixe de praticar atividades fisicas.");
}
return resultado;
}
//Limpando os campos do formulário com a função reset()//
form.reset();
});
E aqui segue o código que eu separei, esse é refente ao formulario:
var botao = document.querySelector(".botao");
//Evento atrelado ao botão de calcular que executará um bloco de instruções a medida que for submetido.
botao.addEventListener("click", function(event){
event.preventDefault();
var form = document.querySelector(".formulario");
var mensagem = document.querySelector(".mensagem");
var usuario = ObtemDadosDoUsuario(form);
//Recebendo os valores das função mediante ao seu retorno.
var resultado = calculaImc(peso,altura);
var msg = verificaImc(resultado);
//Função que obtem os dados digitados pelo usuário//
function ObtemDadosDoUsuario(form){
//Criando um objeto usuário//
var usuario = {
nome: form.nome.value,
peso: form.peso.value,
altura: form.altura.value,
sexo: form.sexo.value
}
return usuario;
}
//Limpando os campos do formulário com a função reset()//
form.reset();
});
E esse é referente ao arquivo de calculo do imc:
//Função que realiza o calculo de imc//
function calculaImc(peso, altura){
var imc = 0;
imc = usuario.peso / (usuario.altura * usuario.altura);
return imc.toFixed(2);
}
//Função que verifica se o imc está de acordo com as normas do ministério da saúde//
function verificaImc(resultado){
if(resultado >= 18 && resultado <= 35){
mensagem.classList.add("resposta-imc-excelente");
mensagem.textContent = (usuario.nome + " Seu imc é " + resultado+ " e está excelente");
}
if(resultado < 18){
mensagem.classList.add("resposta-imc-baixo");
mensagem.textContent = (usuario.nome + " Atenção! Seu Imc é " + resultado + " e está muito abaixo da média " );
}
if(resultado > 35){
mensagem.classList.add("resposta-imc-acima");
mensagem.textContent = (usuario.nome + " Atenção! Seu Imc é " + resultado + " e está muito acima da média, não deixe de praticar atividades fisicas.");
}
return resultado;
}