特定のテキストボックス内に数字のみを許可するjqueryスニペットがあります。ユーザーが文字/特殊文字を入力すると、その文字がテキストボックスにまったく入力できなくなります。しかし、機能しません。
$("#PostalCode").keydown(function (e) {
if (e.shiftKey || e.ctrlKey || e.altKey) { // if shift, ctrl or alt keys held down
e.preventDefault(); // Prevent character input
} else {
var n = e.keyCode;
if (!((n == 8) // backspace
|| (n == 46) // delete
|| (n >= 35 && n <= 40) // arrow keys/home/end
|| (n >= 48 && n <= 57) // numbers on keyboard
|| (n >= 96 && n <= 105)) // number on keypad
) {
alert("in if");
e.preventDefault(); // Prevent character input
}
}
});
数字以外 (文字または特殊文字) を入力するたびに警告メッセージが表示されます。これは、ロジックがおそらく正しいことを意味します。それでも文字はテキスト ボックス内に表示されます。これは、何か問題があることを意味しe.preventDefault()
ます。誰でも助けることができますか?