找出哪个 ASP.NET 控件触发了我的 JavaScript 事件?
我创建了一个 JavaScript 函数,该函数在文本框的 OnKeyPress 事件上触发。 基本上,当调用该函数时,会显示一个标签,告诉用户大写锁定已启用。正如您从下面的方法中看到的,如果大写锁定在 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
谢谢
I've create a JavaScript function that fires on the OnKeyPress event of a text box.
Basically when the function is called a label is displayed telling the user that caps lock is enabled. As you can see from the method below, if the Caps Lock is on 3 labels are displayed but I'd like to use the passed in parameter to find out which textbox fired the event so that I only display one of the caps lock labels. Any ideas
My JScript function is below with one of the calling textboxs below that:
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>
So I'd like to do something like the following with the JScript Function:
if (e.name=="txtCurrentPassword")
{
document.getElementById('divCurrentPasswordCapsLockStatus').style.visibility ='visible';
}
else
{
document.getElementById('divNewPasswordCapsLockStatus').style.visibility = 'hidden';
document.getElementById('divConfirmPasswordCapsLockStatus').style.visibility = 'hidden';
}
I'm using ASP.Net 4.0
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好的,所以您需要使用
查看模式的细分http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs- 2010-and-net-4-0-series.aspx
几乎这将在您在页面中指定 ID 时发出 ID,而不是像命名容器尝试放置它们那样。
那么你可以将“this”传递到你的函数中吗?例如
并将你的函数更改为
Ok so you need to use
See a breakdown of what the modes are http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx
Pretty much this will emit IDs as you specify them in the page, not as the naming container tries and puts them as.
Then can you pass 'this' into your function? e.g.
and change your function to be