テキストフィールドでのキーボード入力を数字[0-9]
とマイナス記号-
のみ(コピー/貼り付けなどなし)と削除キーのみに制限しようとしています。
-
コードは数字と削除キーに制限するために機能しますが、マイナス記号の部分では機能しません。
-
ユーザーは自分の番号の前にマイナス記号を入力することしかできないはずです。入力しようとすると、入力1
し-
ないはず-
ですが、現時点ではその-
部分はまったく機能しません。
フィドル: http: //jsfiddle.net/7XLqQ/1/
このコードが問題だと思いますが、問題ないようです。テキスト入力が空白であることを確認し、空白の場合はマイナス記号を入力します-
。
// Only enter the minus sign (-) if the user enters it first
if (unicode == 45 && input.value == "") {
return true;
}
私の完全なコード:
<input type="text" maxlength="10" id="myInput">
<script>
var input = document.getElementById("myInput");
input.onkeypress = function(e) {
var unicode = e.keyCode;
if (unicode == 49 || unicode == 50 || unicode == 51 || unicode == 52 || unicode == 53 || unicode == 54 || unicode == 55 || unicode == 56 || unicode == 57 || unicode == 48) {
return true;
} else {
return false;
}
// Only enter the minus sign (-) if the user enters it first
if (unicode == 45 && input.value == "") {
return true;
}
};
</script>