2016-04-01 6 views
1

Hoffe jemand kann mich in die richtige Richtung mit diesem zeigen.HTML-Eingabefeld benutzerdefinierte Schritt Tasten

Ich habe ein einfaches Eingabefeld:

<form> 
<input id="Days" name="Days" type="number" required step="0.025" min="0.000" max="5" value="1.000"> 
<input type="submit" id="Sub"/> 
</form> 

Welche OK funktioniert, aber die Benutzer haben angefordert:

  • Nur erlauben Eingang in Vielfachen von 0,025
  • Die Auf- und Abwärtspfeilen bewegen Vielfache von 1

So ist es durchaus akzeptabel, in 1.025 einzugeben, aber klicken Sie auf der Pfeil nach oben in der Box gibt 1, dann 2 usw.

Ich kann es konfigurieren, um beide Anforderungen gleichzeitig aber nicht beide zu erfüllen. Gibt es eine Möglichkeit, das Verhalten der Pfeile außer Kraft zu setzen?

aktualisieren

Die Lösung unterhalb von frajk vorgesehen funktioniert gut, aber wenn Sie auf Senden klicken dann erhalten Sie die Meldung:

The two nearest values are 1 and 2.

Wie dem auch sei Runde das?

+0

Wie über zwei Eingabefelder suchen. Ein Schritt Integer, der andere .025 –

+0

@joelgoldstick - glaube nicht, dass dies die Art von Benutzererfahrung wäre, nach der sie streben. – Lobsterpants

+1

versuchen, 'novalidate' zu ​​Ihrem Formular-Tag hinzufügen ... Beispiel ...'

' – frajk

Antwort

3

Sie haben jQuery verfügbar Angenommen, ich denke, das tut, was Sie für

<input id="Days" name="Days" type="number" required step="1.000" min="0.000" max="5" value="1.000"> 

$("#Days").change(function(e) { 
    var $ele = $(e.target); 
    $ele.val((Math.ceil($ele.val()*40)/40).toFixed(3)); 
}); 
+0

Danke, aber ich glaube nicht. Alles, was zu tun scheint, ist, mir Schritte von 0,025 zu geben, aber die Pfeile nach oben und nach unten bewegen mich immer noch in Schritten von 0,025, nicht ganzen Zahlen. – Lobsterpants

+0

@Lobsterpants oops, vergessen, erforderlichen Schritt zu ändern. jetzt sollte es funktionieren – frajk

+1

Tatsächlich tut es - wunderbar. Danke für deine Hilfe, sogar dein Fehler hat mir geholfen, es zu verstehen :) – Lobsterpants

1

Ihr Code funktioniert gut, wie Sie in Chrom und Firefox möchten. Pfeil nach oben klicken, um den Wert auf 1.025 zu ändern.

+0

Aber das ist nicht was ich will. Pfeil nach oben sollte es zu 1 ändern (dann 2, dann 3 usw.). – Lobsterpants

+0

so können Sie diese Antwort verwenden und für UP Pfeil klicken Sie auf die neue valS ist geparstInt, so dass es keine Zahlen nach Koma. http://stackoverflow.com/questions/24137111/input-type-number-how-to-check-if-key-up-arrow-or-key-down-arrow-pressedmouse-c#answer-24138044 –

+0

OK, aber wie erkennt man einen Klick nach oben? – Lobsterpants

Verwandte Themen