<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<title>calculo IMC</title>
<!--style-->
<style>
section {
width: 50%;
margin: 0 auto;
}
</style>
<!--endStyle-->
<!--HTML-->
<br>
<h4 align="center">Calculando el IMC de una persona</h4> <br>
<div class="container col-lg-6">
<form class="form-control card">
<div class="form-group col-lg-12">
<label for="peso">Peso (KG):</label> <br>
<input type="number" min="0" max="120" class="form-control" id="peso" name="peso" required>
</div>
<div class="form-group col-lg-12">
<label for="altura">Altura (Cm):</label> <br>
<input type="number" class="form-control" id="altura" name="altura" min="0" max="2.1" required>
</div> <br>
<button type="button" class="btn btn-success col-lg-12" id="button">Calcular</button>
</form>
</div> <br> <br>
<section align="center" class="card col-lg-6">
<div class="card-body">
<h5 class="card-title">Indice de masa corporal</h5> <br>
<p class="card-text">
<ol id='imc'>
</ol>
</p>
</div>
</section>
<!--EndHTML-->
<!--Scripts-->
<script type="text/javascript">
let button = document.querySelector('#button');
button.addEventListener('click', () => {
//functions
let validar_valor_imc = (imc) => {
imc = parseFloat((peso / (altura * altura)).toFixed(2));
let li = document.createElement('li');
let node = document.createTextNode('el imc calculado es de: ' + imc);
if(imc == 0){
alert('error en los valores');
}
else {
li.appendChild(node);
ol.appendChild(li);
imc = 0;
}
}
//variables
let input_peso = document.querySelector('#peso').value;
let input_altura = document.querySelector('#altura').value;
let input_p = document.querySelector('#peso');
let input_a = document.querySelector('#altura');
let ol = document.querySelector('#imc');
let peso = 0;
let altura = 1;
let imc = 0;
if(input_peso.length == 0){
input_p.classList.add('is-invalid');
peso = 0;
}
else {
input_p.classList.remove('is-invalid');
input_p.classList.add('is-valid');
if(parseInt(input_peso) <= 0 || parseInt(input_peso) > 120){
alert('el peso no puede ser un numero negativo o mayor a 120 KG, el valor del peso tampoco puede ser 0');
peso = 0;
altura = 1;
}
else {
peso = parseInt(input_peso);
}
}
if(input_altura.length == 0){
input_a.classList.add('is-invalid');
altura = 1;
}
else {
input_a.classList.remove('is-invalid');
input_a.classList.add('is-valid');
if(parseInt(input_altura) <= 0 || parseInt(input_altura) > 210){
alert('la altura no puede ser negativa o ser mayor a 210 CM, el valor de la altura tampoco puede ser 0');
peso = 0;
altura = 1;
}
else {
altura = parseFloat(input_altura/100);
}
}
validar_valor_imc(imc);
});
</script>
<!--EndScripts-->
<!-- Option 1: Bootstrap Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>