2012-01-14 13 views
3

<input type="text">フィールドに入力する際に​​、入力されたすべての値が画面に表示される前に事前確認したいと考えています。例えば。ユーザーが数値以外の値を入力すると、何も起こりません。数値を入力した場合にのみ、フィールドが変更されます。JQueryキャンセルのテキストが入力されました

keydown()keyup()のどちらを使用するのが適切なのですか?古い値を覚えて手動でリセットすることなく、テキストフィールドの現在の変更をキャンセルするにはどうすればよいですか?

答えて

3

イベントkeypressにバインドし、イベントオブジェクトのwhichプロパティで表される文字をチェックすることができます。それが数値でない場合は、要素に文字を書くのデフォルトの動作を防ぐためにpreventDefaultを使用することができます。

$("#someInput").keypress(function(e) { 
    if(isNaN(String.fromCharCode(e.which))) { 
     e.preventDefault(); 
    } 
}); 

はここworking exampleです。

関連する問題