Foros del Web » Programando para Internet » Javascript »

Combo desplegable OnFocus

Estas en el tema de Combo desplegable OnFocus en el foro de Javascript en Foros del Web. Hola foreros. Me he pasado más de un día buscando información de algo que pensaba que no resultaría complicado pero... o no se puede... o ...
  #1 (permalink)  
Antiguo 27/01/2010, 01:51
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 19 años, 11 meses
Puntos: 1
Pregunta Combo desplegable OnFocus

Hola foreros.

Me he pasado más de un día buscando información de algo que pensaba que no resultaría complicado pero... o no se puede... o no he buscado bien.
La cosa es tan sencilla como que cuando un combo reciba el foco se despliegue de manera automática. Es lo mismo que si al recibir el foco se pulsara ALT + [Flecha abajo].
¿Existe un método para hacerlo? ¿Debería incluir en el ONFOCUS del combo un script que lanzara la combinación de teclas ALT + [Flecha abajo]? ¿Cómo lo hago?

Muchas gracias por adelantado y saludos.
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #2 (permalink)  
Antiguo 27/01/2010, 03:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Combo desplegable OnFocus

No es exactamente lo que pides pero igual te sirve...

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <script language="JavaScript" type="text/JavaScript">
  5. function obre(obj){
  6. obj.size=5;
  7. }
  8. function tanca(obj){
  9. obj.size=1;
  10. }
  11. </head>
  12. <select name="desplegable" size="1" id="desplegable" onFocus="obre(this)" onChange="tanca(this)" onBlur="tanca(this)">
  13.   <option value="1">1</option>
  14.   <option value="2">2</option>
  15.   <option value="3">3</option>
  16.   <option value="4">4</option>
  17.   <option value="5">5</option>
  18. <br>
  19. <input name="otrocampo" type="text" id="otrocampo">
  20. </body>
  21. </html>

Quim
  #3 (permalink)  
Antiguo 27/01/2010, 03:43
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Combo desplegable OnFocus

Ante todo muchas gracias quimfv
El código que me has puesto realiza el EFECTO que yo quiero pero... claro... no da la funcionalidad que pretendo ya que cuando pulso [flecha abajo], el combo vuelve a su estado natual (plegado).

Mucho me temo que no se puede hacer y para la navegación por teclado de un formulario me resulta imprescidible.

De nuevo muchas gracias por tu respuesta rápida.
Saludos.
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #4 (permalink)  
Antiguo 27/01/2010, 03:50
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 19 años, 11 meses
Puntos: 1
De acuerdo Respuesta: Combo desplegable OnFocus

Aunque.... si elimino el evento onChange me funciona correctamente.
Creo que así me puede servir.

Muchas gracias
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #5 (permalink)  
Antiguo 27/01/2010, 05:51
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Combo desplegable OnFocus

He puesto dos funciones

obre(obj) que abre el select

y

tanca(obj) que cierra el select


ejecutalas cuando te parezca...

onFocus="obre(this)" cuando recibe el foco
onChange="tanca(this)" cuando se ha seleccionado un valor
onBlur="tanca(this)" cuando se pierde el foco

...

Tu mismo...

Quim

Etiquetas: combo, desplegable
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 14:34.