event.keyCodeによるテキスト入力の制限について
お世話になります。
Windows、VisualStudio2015のASP.NET(VisualBasic)、.NET Framework4.6、
ローカルIIS、ブラウザはGoogleChrome、IE、で開発しています。
1つのページにtext(ASP.NETではTextBox、名称はtxtTest)を置き、
バックスペース、タブ、前後矢印、半角数字のみ入力できるように、
function(名称はnumOnly())を設定します。
以前質問させて頂きました内容に関連します。
HTMLのtextのonkeydownで半角数字のみ入力を指定したところテンキー入力が効かない。
文法に関する質問です。
WebページのソースにおけるHTMLを次のように書きます。
function numOnly() {
if ((48 <= event.keyCode) && (event.keyCode <= 57)) {
return true;
} else {
return false;
}
}
このように書きますと、半角数字のみ入力可能になり、
バックスペース、タブ、前後矢印他、半角英文字の入力も利きません。
そこで、event.keyCodeの値について、バックスペース=8、タブ=9、前後矢印=37と39を利用し、
次のように書き換えます。
function numOnly() {
if (event.keyCode = 8) {
return true;
}
else if (event.keyCode = 9) {
return true;
}
else if (event.keyCode = 37) {
return true;
}
else if (event.keyCode = 39) {
return true;
}
else if ((48 <= event.keyCode) && (event.keyCode <= 57)) {
return true;
} else {
return false;
}
}
ところが、このように書きますと、半角英文字の入力が出来てしまいます。
この原因が分かりません。
書き方に不備があるようでしたら、
ご教示頂けましたら幸いです。
どうぞよろしくお願いいたします。