Foros del Web » Programando para Internet » Javascript »

Control del focus - Macintosh

Estas en el tema de Control del focus - Macintosh en el foro de Javascript en Foros del Web. Hola, Macintosh, Machinto!... ains... me estas volviendo majareta!. El caso es que si veis este formulario en un mac: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original ...
  #1 (permalink)  
Antiguo 10/07/2010, 05:39
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Control del focus - Macintosh

Hola,

Macintosh, Machinto!... ains... me estas volviendo majareta!. El caso es que si veis este formulario en un mac:


Código HTML:
Ver original
  1.     <input name='1' />
  2.     <input name='2'  />
  3.     <input name='3'  type="checkbox" />
  4.     <input name='4'  />
  5.     <input name='5'  type="button" />
  6. </form>

El orden del focus milagrosamente es:

Name: 1;
Name: 2;
Name: 4;

Es decir se pasa el 3 y el 5, exclusivamente por ser checkbox y button, he probado con tabindex y nada, asi que...

¿Como podria hacerlo con javascript?... parece que es un chiste o un error... pero he probado con firerox, safari y opera y no iba... luego con firefox y chrome en windows y si... jojo... que heavy... por que sera?
  #2 (permalink)  
Antiguo 10/07/2010, 06:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Control del focus - Macintosh

no necesitas javascript para eso, asigna el orden con el atributo tabindex

Código HTML:
Ver original
  1.     <input  tabindex='1' name='1'/>
  2.     <input  tabindex='2' name='2'  />
  3.     <input  tabindex='3' name='3'  type="checkbox" />
  4.     <input  tabindex='4' name='4'  />
  5.     <input  tabindex='5' name='5'  type="button" />
  6. </form>
  #3 (permalink)  
Antiguo 10/07/2010, 06:51
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Control del focus - Macintosh

Como digo en el post, jojo... ya he usado tabindex... la verdad es que parece mentira que no funcione... me parece algo super importante... es mas... quien no usa el tabulador en un formulario... creo que casi todo el mundo lo usa.

Que pasada... jojo.

Voy a buscar por google, seguro que existe algun script para esto.

Alguna solucion?
  #4 (permalink)  
Antiguo 10/07/2010, 07:22
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años, 7 meses
Puntos: 19
Respuesta: Control del focus - Macintosh

Hola a todos,

Aqui presento una solucion:

En el onload:
Código Javascript:
Ver original
  1. document.onkeydown = _login_window_key_down;
Funcion:

Código Javascript:
Ver original
  1. var _login_focus_var=false;
  2.     function _login_window_key_down(e)
  3.         {
  4.             if(e.keyCode==9 && _login_focus_var=='record')
  5.                 {
  6.                     _login_focus_var=false;
  7.                     document.getElementById('login_record').focus();
  8.                     return false;
  9.                 }
  10.             if(e.keyCode==9 && _login_focus_var=='submit')
  11.                 {
  12.                     _login_focus_var=false;
  13.                     _login_send=getElementsByClass('_login_send',null,null);
  14.                     _login_send[0].focus();
  15.                     return false;
  16.                 }
  17.         }

¿Como funciona?... pues lo que debeis hacer es cuando se este en un elemento antecesor de los elementos radio o submit, pues cambiar la variable '_login_focus_var', es una forma muy cutre... pero tengo prisa, jojojo.

Hasta pronto gracias por la ayuda!

Etiquetas: control, focus, macintosh
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 11:43.