Tworzę formularz, w którym użytkownik może wprowadzić kwotę w dolarach za pomocą znacznika wprowadzania html. Czy istnieje sposób, aby w polu wprowadzania zawsze wyświetlały się 2 miejsca dziesiętne?Wprowadzanie danych w formacie html zawsze wyświetla 2 miejsca dziesiętne
Odpowiedz
Więc jeśli ktoś potyka się na to tutaj jest rozwiązanie JavaScript do tego problemu:
Krok 1: Hook swoje pole wprowadzania numeru HTML do onchange
imprezy
myHTMLNumberInput.onchange = setTwoNumberDecimal;
lub w html Kod jeśli tak wolą
<input type="number" onchange="setTwoNumberDecimal" min="0" max="10" step="0.25" value="0.00" />
Krok 2: Write metoda setTwoDecimalPlace
function setTwoNumberDecimal(event) {
this.value = parseFloat(this.value).toFixed(2);
}
Zmieniając „2” w toFixed
można uzyskać więcej lub mniej miejsc po przecinku, jeśli tak wolisz.
Niestety nie działa w przeglądarce Firefox 50. – dangowans
Sprawdź w numerach kodu JavaScript toFixed. Możesz napisać funkcję onChange dla pola numeru, które wywołuje funkcję Naprawiono na wejściu i ustawia nową wartość.
onChange jest naprawdę denerwujące. Lubię korzystać z funkcji .blur jQuery. http://api.jquery.com/blur/ – RandomUs1r
To tylko minimalistyczne rozwiązanie, ale tak, używanie jQuery może ułatwić życie PO. – spots
@ RandomUs1r naprawdę nie trzeba używać jQuery tylko po to, aby uzyskać dostęp do 'onBlur' – RozzA
Czysty html nie jest w stanie zrobić, co chcesz. Moją sugestią byłoby napisanie prostej funkcji javascript, aby wykonać roudning dla ciebie.
inline rozwiązanie łączy Groot i Ivaylo propozycje w poniższym formacie:
onchange="(function(el){el.value=parseFloat(el.value).toFixed(2);})(this)"
To nie działa, ponieważ jeśli masz symbol zastępczy, domyślnie bierze on tę wartość i nie można tego zmienić w danych wejściowych. –
Można wykorzystać numerictextbox Telerik za dużo funkcjonalności
<input id="account_rate" data-role="numerictextbox" data-format="#.000" data-min="0.001" data-max="100" data-decimals="3" data-spinners="false" data-bind="value: account_rate_value" onchange="APP.models.rates.buttons_state(true);" />
kod rdzeń jest free to download
Przyjęte tutaj rozwiązanie jest niepoprawne. Spróbuj tego w HTML:
onchange="setTwoNumberDecimal(this)"
i funkcję wyglądać:
function setTwoNumberDecimal(el) {
el.value = parseFloat(el.value).toFixed(2);
};
Co napisali inni ludzie tutaj głównie działało, ale stosując onchange
nie działa przy zmianie numeru za pomocą strzałek w tym samym kierunku więcej niż jeden raz. To, co zadziałało, to oninput
. Mój kod (pożyczanie głównie z MC9000):
HTML
<input class="form-control" oninput="setTwoNumberDecimal(this)" step="0.01" value="0.00" type="number" name="item[amount]" id="item_amount">
JS
function setTwoNumberDecimal(el) {
el.value = parseFloat(el.value).toFixed(2);
};
- 1. Zdobądź ostatnie 2 miejsca dziesiętne bez zaokrąglania
- 2. Zaokrąglanie BigDecimal do * zawsze * mają dwa miejsca dziesiętne
- 3. Wydrukuj maks. 4 miejsca dziesiętne
- 4. JavaScript wyświetlający liczbę zmiennoprzecinkową na 2 miejsca dziesiętne
- 5. Drukowanie wartości liczby zmiennoprzecinkowej na 2 miejsca dziesiętne
- 6. posiekaj nieużywane miejsca dziesiętne z javascript
- 7. Wprowadzanie tekstu w SearchView nie wyświetla się
- 8. Dwa miejsca dziesiętne za pomocą C#
- 9. RequiredFieldValidator wyświetla miejsca: wstawia tekst
- 10. Ręczne wprowadzanie Http w kątowej 2
- 11. Jak określić miejsca dziesiętne podczas formatowania obiektów NSNumber?
- 12. Numerowanie w formacie HTML/CSS
- 13. Jak obcinać miejsca dziesiętne do x miejsc w Swift
- 14. Wprowadzanie danych w rozszerzeniu HTML w celu wypełnienia przestrzeni w pojemniku
- 15. Wprowadzanie daty w formacie d/mm w TextBox
- 16. Zmień format waluty, aby wyświetlić 4 miejsca dziesiętne zamiast 2 globalnie
- 17. Jak kontrolować liczbę wierszy wyświetlanych w bloku danych wprowadzanych przez użytkownika w formacie HTML?
- 18. HTML wejściowe czas w formacie 24
- 19. Tekst sformatowany w formacie HTML
- 20. Eksportuj JasperReports w formacie HTML
- 21. Formatowanie w formacie Compojure HTML
- 22. zapisz tekst w formacie HTML do bazy danych
- 23. Iframe zawsze wyświetla paski przewijania w IE7
- 24. Wprowadzanie tekstu zawija się na 2 wiersze
- 25. Jak sprawdzić ciąg zawiera tylko cyfry i miejsca dziesiętne?
- 26. Formatowanie liczb (miejsca dziesiętne, separatory tysięcy itp.) Za pomocą CSS
- 27. Obliczenia pływaka php 2 kropki dziesiętne
- 28. Sql Server Decimal (30,10) tracąc ostatnie 2 miejsca po przecinku
- 29. Bezpośrednie wprowadzanie danych z Django dla wykresu D3
- 30. Java otrzymuje pierwsze 2 cyfry dziesiętne podwójnego
Nie z czystym HTML. Z jakiego języka po stronie serwera korzystasz? Czy knwo javascript? –