Тип ввода HTML5 = шаг изменения числа

Если я использую поле ввода 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. :Это в Google Chrome 20.0.1132.57 в Fedora 16.

28
задан Takit Isy 28 July 2018 в 16:22
поделиться