sábado, 20 de noviembre de 2010

Enter como tabulador… a veces

En Julio del 2010 escribí una entrada sobre cómo  Utilizar Enter como Tabulador ya que el cliente para el que estaba trabajando me pidió poder navegar por los formularios con la tecla Enter.

La evolución lógica fue que cuando tuviera el foco un control del tipo botón, entonces que tuviera su comportamiento normal y que realizara la pulsación correspondiente. Para ello saqué el javascript del body de la master page y lo puse en una librería js.
<script src="funcionesGenerales.js" type="text/javascript"></script>
</head>
<body onkeydown="enterToTab(event)">

Siendo el código javascript:

// Permite utiliza la tecla Enter como Tabulador
function enterToTab(pEvent) {
    if (pEvent.srcElement.id.indexOf('imgb') == -1) {
        if (window.event.keyCode == 13) //&& window.event.srcElement.type != 'input') 
        {
            window.event.keyCode = 9;
        }
    }
}

El problema es obvio, necesito que los botones empiecen su id con el texto “imgb”, lo cual es un acoplamiento muy feo. Ya que no es lo suficientemente obvio para un futuro mantenimiento.

Y entonces ha llegado el momento de entonar el “si lo hubiera sabido…” cuando leo en el excelente blog de Eduard Tomás i Avellana la entrada sobre  Saca tus scripts del tu código HTML , en donde la solución es mucho más elegante utilizando JQuery y utilizando nuestros propios tags.

Prefiero no copiar aquí el código, porque merece la pena ver el que ha puesto el autor, que merece mucho la pena este blog.

2 comentarios:

eiximenis dijo...

Ey! Con muuuucho retraso pero es que se me saltó tu comentario en mi blog :)

Muchas gracias por la mención!
Un saludo!
Edu

Juan Quijano dijo...

De nada, muchas gracais a tí por tu excelente trabajo de difusión.