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).