在网络表单中,有没有办法判断大写锁定是否已开启?
我想我可以检查一下检查onChange
,看看是否所有字符都是大写字母。但有更直接的方法吗?
具体来说,我想在他们输入密码字段时实现“你的大写锁定已开启”消息,类似于Windows登录屏幕的方式。
答案 0 :(得分:3)
你可以在这里找到一个很好的例子:http://www.codeproject.com/KB/scripting/Detect_Caps_Lock.aspx
您可以使用该代码并将其包装到另一种类型的事件中,即onfocus或文档加载。
您可以谷歌搜索关键代码的索引(我发布了一个链接,但我没有足够的业力来发布多个链接,抱歉)。
为简单起见,您要查找的代码是20(大写锁定)。
从网站复制的说明(许可证:CPOL)
<script language="Javascript">
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('divMayus').style.visibility = 'visible';
else
document.getElementById('divMayus').style.visibility = 'hidden';
}
</script>
现在我们准备好了脚本。我们现在需要将此脚本与我们的表单相关联。
让我们添加两个项目:文本框和DIV。现在我们只需要调用onKeyPress事件。
<input type="password" name="txtPassword" onkeypress="capLock(event)" />
<div id="divMayus" style="visibility:hidden">Caps Lock is on.</div>