正規表現を使用してください。
<input id="inputBox" name="inputBox" />
<script type="text/javascript">
var inputBox = document.getElementById('inputBox');
inputBox.onchange = function(){
inputBox.value = inputBox.value.replace(/[^0-9]/g, '');
}
</script>
また、タイマーを使用してそのフィールドを常に確認することもできます。
<input id="inputBox" name="inputBox" />
<input id="inputBox2" name="inputBox2" />
<script type="text/javascript">
var timer = new Array();
function checkFields(el){
var inputBox = document.getElementById(el);
inputBox.value = inputBox.value.replace(/[^0-9]/g, '');
clearTimeout(timer[el]);
timer[el] = setTimeout((function(){ checkFields(el); }), 50);
};
function timerFields(el){
timer[el] = setTimeout((function(){ checkFields(el); }), 50);
};
timerFields('inputBox');
timerFields('inputBox2');
</script>
です「 - 」(マイナス記号として使用される)の数値は? 一般に、ユーザー入力から文字を静かに削除することはお勧めできません。 100個のアイテムを注文したのに何とか1ooと入力した場合、私の注文を1個のアイテムに静かに変更するのではなく、警告を受けて修正を促したいと思います。 –
コメントありがとうございます、私は将来を考えています。この時点で私はこのパターンだけを解決しなければなりません。 – halofourteen