Esta semana en el trabajo me encontraba con una petición de un cliente. En un formulario donde insertaba peso y talla de una persona quería que hubiera un campo con el índice de masa corporal, que debía rellenarse solo. ¿Esto cómo va? Pues lo arreglamos con una función de javascript:
function calculaIMC(){ //declaramos las variables var peso, altura, imc; //recogemos los datos. //Suponemos que los campos //tienen esos Id. //El peso en KG y la altura en cm //para operar mejor peso=document.getElementById("peso").value; altura=document.getElementById("altura").value; //comprobamos que los campos //no vengan vacíos if(peso!="" && altura!=""){ //aplicamos la fórmula altura = parseInt(altura)/100; imc=peso/(altura*altura); document.getElementById("imc").value=imc.toFixed(2); } }
Recuerda que queremos que los datos se introduzcan como tipos enteros: puedes poner una validación por javascript para que no metan comas, usar un campo numeric de HTML5 (hoy por hoy ya todos los navegadores modernos lo soportan) o hasta tirar de una vieja librería de jQuery (que servía para asegurarnos el funcionamiento en navegadores viejos, aunque hoy por hoy ya no tenga mucho sentido).