HTML5-Eingabetyp = Anzahl ändert das Verhalten des Schritts

9

Wenn ich ein Eingabefeld vom type="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 sein.

%Vor%

Wenn der Benutzer den Wert "199" eingibt und einreicht, erhält er einen Fehler, weil der Wert nicht durch 100 teilbar ist. Aber alles, was ich mit dem Schrittwert will, ist das Verhalten des Spinners zu steuern, z. Wenn der Benutzer nach oben klickt, möchte ich, dass der Wert 199 zu 200 wird und wenn er / sie herunterklickt, möchte ich, dass er 100 wird. Oder idealerweise möchte ich, dass der Wert um einen 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:

%Vor%

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

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

    
mabs 31.07.2012, 11:06
quelle

2 Antworten

3

Ich glaube nicht, dass Sie das können, die step und die Validierung sind eng verbunden . In Zukunft können Sie möglicherweise die stepUp() und stepDown() funktioniert , um das von Ihnen beschriebene Verhalten zu erhalten, aber ich habe nicht untersucht, ob dies ein beabsichtigter Anwendungsfall für diese Dinge ist. Ich würde empfehlen, auf der WHATWG-Mailingliste zu posten, indem Sie speziell nach diesen Funktionen fragen und Ihren Anwendungsfall beschreiben .

Haben Sie aus praktischen Gründen versucht, step=1 zu setzen und an ein click -Ereignis zu binden? Ich kann sehen, dass es wahrscheinlich ein Problem geben wird, zwischen "hoch" und "runter" Klicks zu unterscheiden, aber das könnte überwindbar sein. Es könnte jedoch viel einfacher sein, einen text -Eingang zu verwenden, das Attribut pattern entsprechend einzustellen und einen eigenen Spinner zu implementieren.

    
robertc 31.07.2012 13:45
quelle
1

Nur mit Schritt, aber Sie können den Bereich verwenden und dem Schieberegler Markierungen hinzufügen

wie

%Vor%

Verwenden Sie dann Javascript, um den Wert in der Nähe zu überprüfen und setzen Sie ihn

%Vor%     
Nuno Dias 31.07.2014 15:01
quelle

Tags und Links