ProgramacionWeb - Ayuda al webmaster
No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
3 votos
Detección del bloqueo de mayúsculas
 
 
Un error frecuente del usuario en los inicios de sesión es haber introducido la contraseña en mayúsculas sin saberlo, a causa de tener activado el bloqueo de mayúsculas, para evitar estos errores, se puede detectar si esta función está activada y avisar al usuario.

La detección del bloqueo de mayúsculas es algo compleja, pues tenemos que comparar la tecla pulsada y el estado de la tecla shift.

El sistema de detección consta de tres partes, el script, el campo de formulario y el mensaje de error.

El script, detecta el código de la tecla ( keyCode y which para Internet Explorer y Mozilla respectivamente), detecta el estado de shift (shiftKey para IE) y según estos valores esconde o muestra el mensaje de error:
 
El script
000 
001 
002 
003 
004 
005 
006 
007 
008 
<script>
function capLock(e){
  kc=e.keyCode?e.keyCode:e.which;
  sk=e.shiftKey?e.shiftKey:((kc==16)?true:false);
  if(((kc>=65&&kc<=90)&&!sk)||((kc>=97&&kc<=122)&&sk))
    document.getElementById('caplock').style.visibility = 'visible';
  else document.getElementById('caplock').style.visibility = 'hidden';
}
</script>
 
El campo de formulario llama a la función anterior cada vez que se pulsa una tecla en su interior:
 
El campo de formulario
000 
<input type="password" onKeyPress="capLock(event)">
 
El mensaje de error esta oculto hasta que el script le indica lo contrario:
 
El mensaje de error
000 
<div id="caplock" style="visibility:hidden">El bloqueo de mayúsculas está activado</div>
 
Podeis ver como funciona con este ejemplo
 
 
Comentarios
14/05/09 Comentario 1207
excelente, Muchas Gracias
 
Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de JavaScript de Programación Web indicando el artículo al que te refieres.