Digamos que tenes varios campos y diferentes valores, entonces pasarias a la funcion el valor y el campo sobre el que estás trabajando
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript"> //<![CDATA[
// con esta función comprobás que sea un número
function es_numero(input){
return !isNaN(input)&&parseInt(input)==input;
}
//ahora verificas que sea no sea mayor que 5
function comprobar(campo,val_num){
var elvalor = document.getElementById(campo).value;
if(es_numero(elvalor)){
if(elvalor > val_num){
document.getElementById(campo).value= val_num;
alert("Número mayor que " +val_num + "\n\rsu número: " + elvalor);
document.getElementById(campo).style.backgroundColor = "red";
}else{
document.getElementById(campo).style.backgroundColor = "#FFF";
}
} else{
alert("Debe ingresar un número");
document.getElementById(campo).style.backgroundColor = "red";
}
}
//]]>
en ligar de pasar los nombres 'edad', 'peso', le damos al campo un id y pasamos el valor en forma generica con this.id, seguido del numero (sin comillas, ya que se supone que es un numero entero no una cadena.
Lo que no me queda muy claro es para que querés que se complete el campo con el valor del número automaticamente, si es para resaltar el error, podes darle un color de fondo al campo inválido Eso hice en el ejemplo)
Saludos