HTMLのtextのonkeydownで半角数字のみ入力を指定したところテンキー入力が効かない。
お世話になります。
Windows、VisualStudio2015のASP.NET(VisualBasic)、.NET Framework4.6、
ローカルIIS、ブラウザはGoogleChrome、IE、で開発しています。
1つのページにtext(ASP.NETではTextBox、名称はtxtTest)を置き、
半角数字のみ入力できるように、function(名称はnumOnly())を設定します。
HTMLのソースは以下の通りです。
functionは、<head><script></script></head>
に書いてあります。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script>
<!--
// 半角数値のみを入力可能にする
function numOnly() {
m = String.fromCharCode(event.keyCode);
if("0123456789\b\r".indexOf(m, 0) < 0) return false;
return true;
}
//-->
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtTest" runat="server"></asp:TextBox>・・・※A
</div>
</form>
</body>
</html>
また、プログラムにおいては、
ページをロードする際に、
次のコードを実行します。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
txtTest.Attributes.Add("onkeydown", "return numOnly()")
End Sub
また、ブラウザで実行しますと、上記の※Aの部分のソースは、
以下のようになります。
<input name="txtTest" type="text" id="txtTest" onkeydown="return numOnly()" />
これにより、パソコンのキーボードの上の方に横に並んでいる数字キーで、
半角数字のみ入力はできるようになったのですが、
テンキーでの半角数字入力ができません。
これをできるようにしたいのですが、
何か適切な方法がございましたら、
ご教示いただけたら幸いです。
どうそよろしくお願いします。
(functionの参照元)
http://javascript.eweb-design.com/1205_no.html
<SCRIPT>
という(大文字)はASP.NETでは適切でないようで、小文字に。
「language="JAVASCRIPT"」の個所もエラーになるため外してあります。