テキスト ボックスの OnKeyPress イベントで起動する JavaScript 関数を作成しました。基本的に、関数が呼び出されると、Caps Lock が有効になっていることをユーザーに知らせるラベルが表示されます。以下のメソッドからわかるように、Caps Lock がオンになっている場合は 3 つのラベルが表示されますが、渡されたパラメーターを使用してイベントを発生させたテキスト ボックスを見つけ、Caps Lock ラベルの 1 つだけを表示したいと思います。何か案は
私の JScript 関数は以下にあり、その下に呼び出しテキストボックスの 1 つがあります。
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 を使用しています
ありがとう