Comunidad de diseño web y desarrollo en internet online

Ayuda con focus()

Citar            
MensajeEscrito el 20 May 2011 07:39 am
Hola buenos dias,
he desarrollado una aplicación web que se visualizará en el navegador web
de las Pocket PC de la empresa.
El problema es que dicho navegador no admite "eventos" de javascript y,
por lo tanto, no puedo llamar a ninguna función javascript, en este caso la función
para cambiar el focus.

- Hay alguna otra manera de cambiar el foco que no sea con javascript?

- Conoceis alguna extensión o algo por el estilo para solucionar mi problema con el javascript?

Agradeceria que me ayudaran.
Un saludo.

Por nori89

10 de clabLevel



 

Tecnico en Sistemas

firefox
Citar            
MensajeEscrito el 20 May 2011 02:53 pm
Por lo que dices, ese navegador no es estándar. Tendrías que recurrir a la documentación del mismo.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 May 2011 06:17 am
Hola,

aun así, el foco únicamente se puede cambiar con un evento en javascript?
nadie tiene una alternativa?

Un saludo y gracias.

Por nori89

10 de clabLevel



 

Tecnico en Sistemas

firefox
Citar            
MensajeEscrito el 23 May 2011 02:25 pm
vale ya he conseguido algo! ahora el problema es:
- tengo el foco en el onload apuntando a un caja que se carga en php, la cosa es que la primera vez que carga la pagina el foco no se situa en dicha caja, pero despues de un submit sí.
Alguien tiene idea de que puedo hacer para que cargue primero el php y luego plante el foco en la caja?

Gracias.

Por nori89

10 de clabLevel



 

Tecnico en Sistemas

firefox
Citar            
MensajeEscrito el 23 May 2011 04:54 pm
Lo que dices ahora plantea un escenario diferente del que pintaste en tu primer mensaje.
El problema es que el evento onload del body se ejecuta cuando ese elemento está cargando y por lo tanto aún no se creó en el DOM el elemento al que quieres darle foco.

Ahora entiendo qué es lo que quieres hacer:

Código HTML :

<input type="text" name="nombre" id="nombre" autofocus />
<script type="text/javascript">
  if (!("autofocus" in document.createElement("input"))) {
    document.getElementById("nombre").focus();
  }
</script>


La propiedad "autofocus" es de HTML5, las últimas versiones de Opera, Chrome y FF lo aceptan y hace justamente lo que quieres hacer. El código JavaScript que está después (y tiene que estar después) es para IE8 y anteriores, los cuales no aceptan la propiedad "autofocus".

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 May 2011 06:23 am
Hola DriverOp gracias por contestar,
he probado tu codigo y en un navegador normal funciona perfectamente, la cosa es que
como ya dije en mi primer post, esta aplicación es para acceder desde una PocketPC
antigua la cual usa un IE antiguo y este no funciona, por lo tanto lo único que necesito para
que funcione mi codigo al 100% es un codigo que actualice la pagina la primera vez que entras para que asi ponga el foco del onload.
De nuevo gracias y un saludo.

Por nori89

10 de clabLevel



 

Tecnico en Sistemas

firefox
Citar            
MensajeEscrito el 24 May 2011 06:39 am
Problema solucionado! es un poco "guarro" pero no es una aplicación compleja asi que bastará.

Lo que he hecho es una caja de texto "hidden" con valor "0" y un if que compruebe su valor de tal forma que, si es 0 recarga y cambia el valor a 1. Con esto soluciono mi problema con el focus y se acabaron mis problemas.

Muchas gracias DriverOp por la ayuda en todo momento.
Ya se por donde pasarme cuando tenga dudas :)
Un saludo, hasta pronto

Por nori89

10 de clabLevel



 

Tecnico en Sistemas

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.