我创建了一个JavaScript函数,该函数触发文本框的OnKeyPress事件。 基本上,当调用该函数时,会显示一个标签,告诉用户已启用大写锁定。正如您从下面的方法中看到的,如果Caps Lock打开,则会显示3个标签,但我想使用传入的参数来找出触发事件的文本框,以便我只显示其中一个大写锁定标签。任何想法
我的JScript函数位于下面,其中一个调用文本框位于:
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('divCurrentPasswordCapsLockStatus').style.visibility = 'visible';
document.getElementById('divNewPasswordCapsLockStatus').style.visibility = 'visible';
document.getElementById('divConfirmPasswordCapsLockStatus').style.visibility = 'visible';
else
document.getElementById('divCurrentPasswordCapsLockStatus').style.visibility = 'hidden';
document.getElementById('divNewPasswordCapsLockStatus').style.visibility = 'hidden';
document.getElementById('divConfirmPasswordCapsLockStatus').style.visibility = 'hidden';
}
<asp:TextBox ID="txtCurrentPassword" runat="server" TextMode="Password" CssClass="customtxt" onkeypress="capLock(event)"></asp:TextBox>
所以我想使用JScript函数执行以下操作:
if (e.name=="txtCurrentPassword")
{
document.getElementById('divCurrentPasswordCapsLockStatus').style.visibility ='visible';
}
else
{
document.getElementById('divNewPasswordCapsLockStatus').style.visibility = 'hidden';
document.getElementById('divConfirmPasswordCapsLockStatus').style.visibility = 'hidden';
}
我正在使用ASP.Net 4.0
由于
答案 0 :(得分:1)
好的,你需要使用
ClientIdMode="Static"
的详细信息
当你在页面中指定ID时,它会发出ID,而不是命名容器尝试并将它们放入。
然后你可以将'this'传递给你的函数吗?例如
onkeypress="capLock(this, event)"
并将您的功能更改为
function capLock(sender, e) {