type="number" の入力フィールドを step="100" で使用するとします。奇数を無効にしたくありません。増加または減少を1000の値にしたいだけです。
<input type="number" min="100" max="999999" step="100" />
ユーザーが値「199」を入力して送信すると、値が100で割り切れないため、エラーが発生します。しかし、ステップ値で必要なのは、スピナーの動作を制御することだけです。クリックアップ 199 の値を 200 にしたいし、クリックダウンしたら 100 にしたい。または理想的には、値を 100 で増減させたい.
どうすればいいですか?次のように(jQuery 1.7.2で)無効なイベントを使用してみました:
$( "[type='number']" ).bind( 'invalid', function( e ) {
var el = $( this ),
val = el.val( ),
min = el.attr( 'min' ),
max = el.attr( 'max' );
if ( val >= min && val <= max ) {
return false;
}
} );
しかし、これによりフォームが送信されません。
PS .: これは、Fedora 16 の Google Chrome 20.0.1132.57 にあります。