Foros del Web » Programando para Internet » Javascript »

focus

Estas en el tema de focus en el foro de Javascript en Foros del Web. Saludos a todos!! tengo un problema con la validacìón de campos. En un formulario tengo un campo input text llamado fecha donde onChange="validaFecha(this)". En validaFecha ...
  #1 (permalink)  
Antiguo 27/01/2003, 09:47
 
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 52
Antigüedad: 21 años, 5 meses
Puntos: 1
focus

Saludos a todos!!

tengo un problema con la validacìón de campos.

En un formulario tengo un campo input text llamado fecha donde onChange="validaFecha(this)".

En validaFecha hago todas las validaciones correspondientes y finalmente:

Código:
   if (escorrecta)
   {
   	campo.value = fechaArreglada;
   }
   else
   {   	   	
   	alert (Mensaje[19]);
                campo.focus();
   	campo.value = "";   	
   }
Pues bien mi problema es que el campo.focus() no parece que haga efecto alguno...aunque supongo que lo que pasa es que primero se dispara este evento onChange y luego me hace el onFocus provocado por el clic del ratón...y el on focus de mi función queda anulado por el siguiente...

Alguién sabe como puedo arreglar esto ??

Saludos!!
  #2 (permalink)  
Antiguo 27/01/2003, 09:58
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: focus

¿Has probado invertir el orden de los comandos?

Código:
   if (escorrecta)
   {
   	campo.value = fechaArreglada;
   }
   else
   {   	   	
   	alert (Mensaje[19]);
   	campo.value = "";   	
                campo.focus();
   }
Me parece que con eso es suficiente.

Saludos.
  #3 (permalink)  
Antiguo 27/01/2003, 10:38
 
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 52
Antigüedad: 21 años, 5 meses
Puntos: 1
sí, lo he probado y no parece que sea la solución...
  #4 (permalink)  
Antiguo 27/01/2003, 10:40
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Entonces debe haber conflicto con otros eventos. ¿Que otros eventos tienes activados?
  #5 (permalink)  
Antiguo 27/01/2003, 10:46
 
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 52
Antigüedad: 21 años, 5 meses
Puntos: 1
Todos los campos en principio tienen el evento onChange, así cuando salgo de este campo para ir a otro en teoría no hay otro evento que se dispare...

Lo que voy a hacer es montarme un html con lo mínimo y testearlo... entonces os digo algo...
  #6 (permalink)  
Antiguo 27/01/2003, 10:50
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Re: Re: focus

También podría estar pasando lo siguiente:

El comando campo.value = ""; dispara nuevamente el onchange y la segunda vez entra por la opción de (escorrecta) sin que llegue a pasar por el focus().

Creo que debe ser eso. Pruébalo a ver.

Saludos.
  #7 (permalink)  
Antiguo 27/01/2003, 11:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: bcn
Mensajes: 52
Antigüedad: 21 años, 5 meses
Puntos: 1
cuando he leído el mensaje estaba convencido que ahí estaba el tema!!
pero de momento no lo soluciona...bueno, de hecho si vuelve a entrar en el onChange por la rama escorrecta ahí no hago ningún focus() con lo que tendría que seguir quedándose en el mismo campo.
  #8 (permalink)  
Antiguo 27/01/2003, 11:07
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Zyron, en mi ejemplo del FAQ-15 no hago nada distinto de lo que tu indicas, y sin embargo el focus() se porta como todo un caballero...algo mas hay que no hemos visto...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.