Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Controlar la tabulación

44 views
Skip to first unread message

Alberto S.H.

unread,
Sep 3, 2007, 7:21:20 AM9/3/07
to
Hola a todos,

Tengo terminada una aplicación solo a falta de saber una cosa, el como
controlar la tabulación dentro de los formularios. Desde visual studio 2003,
le pongo el tabindex bien, desde el 0 al n, en el orden que quiero, pero
resulta que al principio se me pasa el tabulador a la barra de navegación,
luego a la del google, luego sigue en el formulario,... en fin que da saltos
de arriba a abajo.

¿Como lo soluciono?


Gracias a todos.


Guillermo 'guille'

unread,
Sep 3, 2007, 12:22:26 PM9/3/07
to
En las páginas Web ya has comprobado que no sirve de mucho asignar el valor
al tabindex.
Lo que yo hago es asignar el foco al control que tenga el foco inicial,
después se podrá llegar a la barra de direcciones, pero al menos será el
control que yo quiera el que tenga el foco inicial.
Esa asignación la puedes hacer en el evento Page_Load del formulario,
asignando el foco con el método Focus del control que quieras que lo tenga,
por ejemplo: textBox1.Focus()

--
Nos vemos
Guillermo
---
Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Alberto S.H." <dlin...@quitaesto.swin.net> wrote in message
news:eRnycyh7...@TK2MSFTNGP02.phx.gbl...

Jose A. Fernandez

unread,
Sep 3, 2007, 2:00:32 PM9/3/07
to
Hola
Como te comenta el Guille, es una ardua tarea, pero posible ;) (segun
lo que necesites)
Por lo que comentas necesita lo mas simple:
"Establecer el indice de tabulacion y que lo respete"
Esto de TABINDEX, que es un atributo de los controles HTML lo tienes
espeficiado tambien en los webcontrols con la propiedad Tabindex (te
dejo los enlaces mas abajo), esta propiedad por defecto tiene el valor
0

Y la verdad no se porque el IE al tener el primer item tabindex="0" no
salta al 1 sino al la barra de direcciones. pero bueno se soluciona
colocando el tabindex="1" ;) (enumerando desde el 1)
Y para asegurarte la posicion en la carga de la pagina coloca un
rituna JS para establecer el foco del primero control

Que quiere decir 0 en el tabindex?
--------------------------------------
Que los valores de tabulacion sera asigandos por "posicion" dentro de
la pagina, dicho un poco con otra palabras por CERCANIA DE CONTROLES,
es asi que asigna como "salta de un control a otro" cuando no
asignamos estra propiedad

Cuando necesito un valor negativo?
--------------------------------------
Cuando quieres que no sea alcanzado en el orden de tabulacion, ponlo
en tabindex="-1"

Pero esto nos sirve?
------------------------
Antiguamente (parece que hablamos de Roma no?) o mejor dicho hace unos
pocos años atras los diseños de website era mediante TABLAS (que nos
salvaba la vida de vez en cuando), el layout lo armabamos con tabla y
alli colocamos en filas y columnas nuestros queridos controles de
formulario.
Pero hoy en dia con esto de separar, separar ;), que trae aparejado un
mejor modelo de mantenimiento y de rehuso, estos layout lo realizamos
mediane estilos CSS; o sea por un lado el contenido HTML el esquelto y
por otro lo estetico/posicional ;)
Aqui podemos tener contenido que escribimos mas abajo en nuestro HTML
y medinate estilos lo colocamos como encebezado de pagina o pie... asi
que nuestro TAB AUTOMATICO ya nos funciona ;)
Cuando trabajamos con equipos de diseñadores (incluso uno mismo) y
necesitamos que se respete el orden de tabulacion es necesario
ASIGNARLO


Aqui tienes un test de la W3C..
http://www.w3.org/2000/01/tabindex-test


Otro tema: Similar tecla tab con enter
----------------------------------------------
(esto es un post anterior en el grupo de noticias)
Para simular la tecla tabs con enter deberias realizarlo en el cliente
o sea con javascript, mira este articulo que es mi recomendacion
- Moverse entre campos con ENTER en Web Forms
http://www.elguille.info/colabora/NET2005/ErnestoManuel_MoverFocusConEnter.htm

Otras alternativas
- Tabs con Enter
http://www.gamarod.com.ar/javascript/tab_con_enter_rutina_javascript.asp
y aqui otra rutina en Js un poco mas ortodoxa
http://groups.google.com.ar/group/comp.lang.javascript/browse_thread/thread/cbe37be7552b0041/

Enlaces:
--------------
W3C: TabIndex
This attribute specifies the position of the current element in the
tabbing order for the current document. This value must be a number
between 0 and 32767. User agents should ignore leading zeros.
http://www.w3.org/TR/html4/interact/forms.html#adef-tabindex

WebControl.TabIndex (Propiedad)
Obtiene o establece el índice de tabulación del control de servidor
Web.
http://msdn2.microsoft.com/es-es/library/system.web.ui.webcontrols.webcontrol.tabindex(VS.80).aspx


Espero que te sirva de ayuda o guia
______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja

On Sep 3, 1:22 pm, "Guillermo 'guille'" <mens...@en.elguille.info>
wrote:


> En las páginas Web ya has comprobado que no sirve de mucho asignar el valor
> al tabindex.
> Lo que yo hago es asignar el foco al control que tenga el foco inicial,
> después se podrá llegar a la barra de direcciones, pero al menos será el
> control que yo quiera el que tenga el foco inicial.
> Esa asignación la puedes hacer en el evento Page_Load del formulario,
> asignando el foco con el método Focus del control que quieras que lo tenga,
> por ejemplo: textBox1.Focus()
>
> --
> Nos vemos
> Guillermo
> ---
> Microsoft MVP Visual Basic desde 1997
> Tus consultas en los foros del Guille:http://foros.elguille.info/
>

> "Alberto S.H." <dlina...@quitaesto.swin.net> wrote in message

Alberto S.H.

unread,
Sep 4, 2007, 2:26:22 AM9/4/07
to
Muchisimas gracias por tu respuesta Guillermo


"Guillermo 'guille'" <men...@en.elguille.info> escribió en el mensaje
news:0C95DF80-63AC-4F85...@microsoft.com...

Alberto S.H.

unread,
Sep 4, 2007, 2:26:51 AM9/4/07
to
Muchisimas gracias por tu respuesta Jose A.
Mezclando las dos respuestas me funciona.

"Jose A. Fernandez" <ferna...@gmail.com> escribió en el mensaje
news:1188842432.0...@d55g2000hsg.googlegroups.com...

0 new messages