Wie kann ich im HTML5-Nummernfeld Nullen anzeigen lassen?
Ich habe ein Feld:
<input type='number' />
Ich würde gerne die punch-in - 0.50
ohne ihn "Korrektur" zu 0.5
, so würde das display 0.50
.
Kommentar zu dem Problem - Öffnen
Danke für den edit-Paul, der Titel ist sehr viel präziser.
InformationsquelleAutor der Frage Akshat | 2011-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte, habe ich ein wenig spielen, um mit diesem und schaute auf die spec. Es sagt, dass es sein muss eine gültige floating point Zahl. Es gibt einen Satz in der definition eine gültige floating point Zahl gibt es, die meine Aufmerksamkeit erregten:
Dies bedeutet, dass das format wird immer im Einklang mit der Beurteilung, was die Zahl ist, dann mit JavaScript toString auf, die Anzahl. Also keine abschließenden 0s dann.
So, Sie gehen, um zum resort zu JavaScript. Dies ist nicht einfach, weil
document.getElementById('numInput').value = '0.50';
bekommt noch korrigiert0.5
, so dass die Validierung nicht ausgelöstonchange
wo die Standard-Aktion kann verhindert werden, Sie wird ausgelöst, intern.Dies ist die beste Lösung, die ich gefunden habe... es ist ein bisschen ein hack und muss ein bisschen tüfteln für die Robustheit, aber hoffentlich werde tun, was Sie wollen:
So, wenn der Nutzer will, um geben Sie die Nummer durch Eingabe, schaltet die input type text, aber wenn Sie darauf klicken, wandelt es wieder in eine Zahl.
Wenn Sie wollen immer die nachfolgende 0s, egal was der Benutzer eingibt, dann könnte man es machen, so etwas wie dieses:
Edit: ich denke, dass die zweite Lösung ist mehr inline mit dem, was die Benutzer erwarten, aber es bedeutet, dass, wenn der Benutzer Arten
0.5
es gezwungen werden zu0.50
, also es hängt davon ab, ob das, was Sie wollen.InformationsquelleAutor der Antwort Nathan MacInnes
Befestigte ich eine on('change') event zu den input, den Sie haben wollen nachgestellte 0
Es dauert nur den Wert, wirft es ein float ist, macht es zu einem string um die Anzahl der Dezimalstellen, und legt es zurück in den Wert.
InformationsquelleAutor der Antwort Jacob Valenta