Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/06/2007, 17:27
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: duda con evento onblur

Buf, creo que te convendría separar el código del html, porque es algo largo, y es un poco dificil escribir código lejible en una sola línea.

Además el código para permitir escribir sólo números sólo funciona en IE, te lo he tocado para que sea más estándar:

Código:
<input type="text" maxlength="2" name="txt_prommat7" size="3" tabindex="17" onblur="f_blur(this)"  onkeypress="f_keypress(event)" onFocus="siguienteCampo ='txt_promgral7'; "/>

<script type="text/javascript">

function f_blur(caja) {
	if(caja.value.indexOf('.') == -1) 
		caja.value = caja.value.split('').join('.');
	// ¿la coloreamos?
	if ( parseInt(caja.value.replace(/\./,"")) < 40 ) 
		caja.style.color = "red";
	else
		caja.style.color = "black";
}
function f_keypress(e) {
	var tecla = (document.all) ? e.keyCode : e.which;
	if (tecla==8) return true;
	return /d/.test( String.fromCharCode(tecla) );
}

</script>
No te funcionaba más que nada por la condicional:
parseInt(this.value) < 40
que mira si el valor convertido a número es menor a 40. Habría que convertirlo a número y mirar a ver si es menor de 4.0 o sino quitarle el punto, como lo he hecho en el script.


Espero que sea lo que buscas.



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.