Link to home
Start Free TrialLog in
Avatar of John Gillen
John GillenFlag for United States of America

asked on

Caps lock check with Javascript in Firefox

I found the following JavaScript code which is exactly what I was looking for in another question.  However the only problem is the shift key check does not work in Firefox, does anyone know what code needs to be added to get this to work in Firefox.

<HTML>
<HEAD>
<TITLE>Check Caps Lock</TITLE>
<LINK REL="stylesheet" HREF="jgw.css" TYPE="text/css">
<SCRIPT LANGUAGE=JavaScript>
<!--

/*
// ///////////////////////////
// checkCapsLock v1.0
//
// If a user enters his password in a Web-based form with Caps Lock
// accidentally on, he can become frustrated because his password is not
// being accepted... and he may assume the application is the source of the
// problem.
//
// This JavaScript function will let the user know his Caps Lock is on and
// about the potential for error.
// ///////////////////////////
*/

function checkCapsLock( e ) {

      var myKeyCode=0;
      var myShiftKey=false;
      var myMsg='Caps Lock is On.\n\nTo prevent entering your password incorrectly,\nyou should press Caps Lock to turn it off.';

      // Internet Explorer 4+

      if ( document.all ) {
            myKeyCode=e.keyCode;
            myShiftKey=e.shiftKey;

      // Netscape 4
      } else if ( document.layers ) {
            myKeyCode=e.which;
            myShiftKey=( myKeyCode == 16 ) ? true : false;

      // Netscape 6
      } else if ( document.getElementById ) {
            myKeyCode=e.which;
            myShiftKey=( myKeyCode == 16 ) ? true : false;

      }

      // Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
      if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
            alert( myMsg );
            return false;

      // Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
      } else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
            alert( myMsg );
            return false;
      }

}
// -->
</SCRIPT>
</HEAD>

<BODY>

<H1>Check Caps Lock</H1>

Do you have problems with users who continually have problems logging in
because they inadvertently have their Caps Lock on?  Well, now you can let
your users know the problem may be due to Caps Lock.

<FORM name=pwform>
<STRONG>Password:</STRONG>
<INPUT TYPE="Text" NAME="Password" SIZE=16 MAXLENGTH=16 onKeyPress="return checkCapsLock(event)">
<P>
<INPUT TYPE="Reset">
</FORM>


</BODY>

</HTML>
ASKER CERTIFIED SOLUTION
Avatar of jhshen
jhshen

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial