Boa noite!
Tenho um código javascript que calcula IMC, porém quando coloco , no número ele da como invalido. Como fazer com que ele aceite e conversa esse numero?
const form = document.querySelector("#formulario");
//adiciona event listener para previnir o envio e mostrar html do setResult
form.addEventListener('submit', function(event){
event.preventDefault();
const inputPeso = event.target.querySelector("#peso");
const inputAltura = event.target.querySelector("#altura");
const peso = Number(inputPeso.value);
const altura = Number(inputAltura.value);
if(!peso) {
setResult('Peso Invalido', false)
return;
}
if(!altura) {
setResult('Altura invalida', false)
return;
}
const imc = getImc(peso, altura);
const nivelImc = getIndiceImc(imc)
const msg = `Seu IMC é ${imc} (${nivelImc})`;
setResult(msg, true);
});
function getIndiceImc(imc) {
const nivel = ['Abaixo do peso', 'Peso normal', 'Sobrepeso',
'Obesidade grau 1', 'Obesidade grau 2', 'Obesidade Grau 3'];
if(imc >= 39.9) {
return nivel[5]
};
if (imc >= 34.9){
return nivel [4]
};
if (imc >= 29.9) {
return nivel [3]
};
if (imc >= 24.9) {
return nivel [2]
};
if (imc >= 18.5) {
return nivel [1]
};
if (imc < 18.5) {
return nivel [0]
};
}
function getImc(peso, altura) {
const imc = peso / altura ** 2;
return imc.toFixed(2);
}
function createP () {
const paragrafo = document.createElement('p');
return paragrafo;
}
//criar elemento com javaScript
function setResult(msg, isValid) {
const result = document.querySelector('#resultado');
resultado.innerHTML = '';
const paragrafo = createP();
if(isValid) {
paragrafo.classList.add("paragrafo-resultado")
} else {
paragrafo.classList.add('bad')
}
paragrafo.innerHTML = msg
resultado.appendChild(paragrafo)
};