Estou com um problema em relação ao projeto, sobre calcular o imc e adicionar o paciente na tabela. Estou seguindo passo a passo das aulas, mas não estou entendendo bem aonde exatamente estou errando. Basicamente, no arquivo form.js, toda vez que rodo ele no navegador, ele me retorna um erro de que a função "calculaIMC", feita no arquivo "calcula-imc.js", não pode ser executada pois ela não foi definida. Esse erro só acontece assim que eu a chamo no arquivo "form.js", se eu não a declaro nesse arquivo, ela a executa normalmente e adiciona os pacientes na tabela. Já tentei colocar o "type= module" nos e também declarar no topo de "form.js" essa função de forma completa, mas não funciona. O que será que pode ser ?
Segue o código JavaScript de calcula-imc:
var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";
var pacientes = document.querySelectorAll('.paciente');
for(let i= 0; i < pacientes.length; i++){
var paciente = pacientes[i];
var tdPeso = paciente.querySelector('.info-peso');
var peso = tdPeso.textContent;
var tdAltura = paciente.querySelector('.info-altura');
var altura = tdAltura.textContent;
var tdIMC = paciente.querySelector('.info-imc');
var pesoEhValido = validaPeso(peso); // true ou false
var alturaEhValida = validaAltura(altura); // true ou false
if(!pesoEhValido){
console.log("peso inválido");
pesoEhValido = false;
tdIMC.textContent ="Peso Inválido!"
// paciente.style.backgroundColor= "lightcoral;"
paciente.classList.add('paciente-invalido');
}
if (!alturaEhValida){
console.log("altura inválida");
alturaEhValida = false;
tdIMC.textContent = "Altura Inválida!"
paciente.classList.add('paciente-invalido');
}
if(alturaEhValida && pesoEhValido){
var imc = calculaIMC(peso, altura);
tdIMC.textContent = imc;
}
}
function validaPeso(peso){
if(peso >= 0 && peso < 1000){
return true
} else{
return false
}
}
function validaAltura(altura){
if(altura >= 0 && altura <= 3.0){
return true
}else{
return false
}
}
function calculaIMC(peso, altura){
var imc = 0;
imc = peso / (altura * altura);
return imc.toFixed(2);
}