HTML5-Eingabetyp = Verhalten bei Nummernänderungsschritten

Wenn ich ein Eingabefeld vom Typ = "number" mit step = "100" benutze. Ich möchte nicht, dass ungerade Zahlen ungültig sind. Ich möchte nur erhöhen oder verringern mit einem Wert von 1000.

<input type="number" min="100" max="999999" step="100" />

Wenn der Benutzer den Wert "199" eingibt und einreicht, wird ihm ein Fehler angezeigt, da der Wert nicht durch 100 teilbar ist. Ich möchte jedoch mit dem Schrittwert nur das Verhalten des Spinners steuern, z. Wenn der Benutzer nach oben klickt, soll der Wert 199 zu 200 werden, und wenn er nach unten klickt, soll er zu 100 werden. Oder ich möchte, dass der Wert mit einem Wert von 100 erhöht oder verringert wird.

Wie mache ich das? Ich habe versucht, das ungültige Ereignis (mit jQuery 1.7.2) wie folgt zu verwenden:

$( "[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;
    }
} );

Dies führt jedoch dazu, dass das Formular nicht übermittelt wird.

PS .: Dies ist in Google Chrome 20.0.1132.57 auf Fedora 16.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage