Ver Mensaje Individual
  #2  
Antiguo 23-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Reputación: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El siguiente código parece funcionar como se espera en Internet Explorer:

Código PHP:
<html>
<
head>

<
script>

function 
Validate(obj){
  if(
true != false){
    
// Así damos de nuevo el foco al INPUT
    
obj.focus();
  }
}    

</script>

</head>
<body>

<form>
 <input type="text" onblur="Validate(this);">
</form>

</body>
</html> 
Sin embargo, no funciona en Firefox. Y, buscando en Google, topas con páginas en que se viene a decir desde que es causa de cómo JavaScript trata el evento "onblur" (parece que se ejecuta luego de haberse ejecutado el código JavaScript (?)).

En la propia página que enlazo se muestra ya una solución, y si uno busca un poco encuentra otras páginas como esta, donde se propone la misma solución. Sin embargo, aquí ya se habla de un "bug" en Mozilla Firefox... en todo caso la solución es la que es y parece funcionar:

Código PHP:
<html>
<
head>

<
script>

function 
Validate(obj){
  if(
true != false){
    
// Así damos de nuevo el foco al INPUT
    
setTimeout(function () { obj.focus() }, 1);    
  }
}    

</script>

</head>
<body>

<form>
 <input type="text" onblur="Validate(this);">
</form>

</body>
</html> 
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-02-2008 a las 09:29:45.
Responder Con Cita