Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Poner foco en input text no me funciona

Hola tengo el siguiente problema

Estoy validando la cantidad de stock, si la cantidad indicada supera el stock del inventario, muestro un mensaje por pantalla y dejo el foco en el mismo control, pero esto no sucede , igual pasa al otro control el foco.

Código:
<td class="celdaGrilla" >
<input name="txtEmbCantProd[{$fila.Det_EmbNumCaja]}][{$fila.ProdCod}]" 
   type="text" size="6" maxlength="6" class="inputSoloNum" value="{$fila.Det_EmbProdCant}" onblur=" return stock(this);"
    />
</td>
Código PHP:
function stock(obj) {
   var 
stock obj.form.txtProdStock.value;
   var 
cantPedida obj.value;
     
   if (
stock cantPedida) {
      
alert('No hay suficiente stock');
      
obj.value 0;
      
obj.focus();
      return 
false;
   }

   return 
true;
}
</script> 
Gracias....

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #2  
Antiguo 23-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
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
  #3  
Antiguo 04-03-2008
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Thumbs up Buena Solución...

Hola Dec:

Disculpa por no ver este tema, otras cosas me tuvieron ocupado durante toda la semana..., en fin he retomado este tema y lo he cambiado por el evento keypress y no tengo ningún problema, por cierto lo tendré presente para futuras cosas que haga con el evento onblur

Gracias nuevamente....

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mayusculas en campos input text lucasarts_18 HTML, Javascript y otros 3 09-01-2008 18:13:39
cómo puedo bajar y mover a la derecha un input type "text"? maximo_nashir HTML, Javascript y otros 9 05-09-2007 00:24:50
Longitud Maxima Para Un Input->text CARLOS E HTML, Javascript y otros 1 10-06-2006 00:10:05
poner el foco dentro del opendialog Velia Varios 5 17-11-2005 17:21:30
Poner color background del form cuando pierde el foco Cabanyaler Gráficos 4 25-11-2004 08:32:03


La franja horaria es GMT +2. Ahora son las 18:19:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi