テキストボックスのOnKeyPressイベントで発生するJavaScript関数を作成しました。 基本的に、関数が呼び出されると、caps lockが有効であることをユーザーに知らせるラベルが表示されます。下のメソッドからわかるように、Caps Lockがオンの場合、3つのラベルが表示されますが、渡されたパラメータを使用して、どのテキストボックスがイベントを発生させたかを調べて、キャップのロックラベルの1つのみを表示します。任意のアイデアJavaScriptイベントを発生させたASP.NETコントロールを確認しますか?
私のJScript関数は、以下の呼び出しtextboxsの一つで以下の通りです:
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
おかげ
であるためにあなたの機能を変更するには、あなたの機能に 'これ' を渡すことができますか?例えばonkeypress = "capLock(this、event)"関数を関数capLock(送信者、e){ –
に変更してください}これはほとんど試しましたが、送信者パラメータからコントロール名を取得するにはどうすればいいですか?私は以下を試しました:if(sender.id == "txtCurrentPassword"){alert( "Run my code"); }。しかし、sender.idはtxtCurrentPasswordコントロールのフルパスを返します。例えばtabContainerMain_tabMain_txtCurrentPassword } – user1131661