Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2006, 18:57
ray_rockus
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 7 meses
Puntos: 0
Problema con función

Hola que tal antes que nada un saludo.

Me encuentro realizando una función en JavaScripot que valide que un número X (que será introducido en un textbox) se encuentre entre dos valores.

La función que desarrolle es esta:

Código:
<script language="javascript">
	function validaNum(cadena,inicio,fin){
		alert(cadena);
		var num=parseInt(cadena);
		if !((num >= inicio) && (num <=fin)){
			alert ('El valor introducido no es válido');
			return false;
		}
		return true;
	}
</script>
y lo mando a llamar desde el textbox en el evento onBlur:

Código HTML:
<input name="dia" type="text" id="dia" size="4" maxlength="2" onchange="validaNum(this.value,1,31)"/> 
y me marca un error. IE me dice que se esperaba un objeto, algo que yo interpreto como que no encuentra la función, ya que ya probe con alerts y si recibo el valor en el llamado a this.value.
Firefox de plano no me hace nada.

No sé porque marca este error, en que me estoy equivocando en la declaración de la función.

Aqui envio todo el código:

Código HTML:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Pruebas</title>
<script language="javascript">
	function validaNum(cadena,inicio,fin){
		alert(cadena);
		var num=parseInt(cadena);
		if !((num >= inicio) && (num <=fin)){
			alert ('El valor introducido no es válido');
			return false;
		}
		return true;
	}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <input name="dia" type="text" id="dia" size="4" maxlength="2" onchange="validaNum(this.value,1,31)"/>
  <input name="mes" type="text" id="mes" size="4" maxlength="2" />
</form>
</body>
</html> 
Que estará mal ? , De antemano gracias por la ayuda.