Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][jquery] Obliczenia na polach input. Obsługa wpisu ,500 ?, Zamiana zapisu ,500 na 0,500
starterrrrr
post
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 7.01.2015

Ostrzeżenie: (0%)
-----


Witam.
Wykonałem prosty kalkulator pół typu input w jQuery.

Problemem jest to, że zwraca mi NaN gdy wpisze się ,500. Macie pomysł na fachową zamiane tego na 0,500. Myślałem, że parseFloat() załatwi sprawę.

Jak można jeszcze zabezpieczyć, często mam problem z poprawnymi obliczeniami na polach input.


  1. <script>
  2. //przeliczanie wpisanej wartości - wartosc x ilosc
  3. $( document ).on( "input", "#pole_ilosc", function() {
  4.  
  5. przelicz_sume_produktu( $(this).val() );
  6.  
  7. });
  8.  
  9. function przelicz_sume_produktu( element ) {
  10.  
  11. var ilosc = parseFloat( element );
  12. var cena = parseFloat( $("#pole_wartosc").val() );
  13.  
  14. var wynik = round(ilosc * cena, 2);
  15.  
  16. if (ilosc != 1) {
  17. //może dac warunbek, że if wynik=Nan wtedy info "Zła ilość"
  18. alert( wynik );
  19. }
  20.  
  21. }
  22.  
  23. function round(number,x) {
  24. var x = (!x ? 2 : x);
  25. return Math.round(number*Math.pow(10,x)) / Math.pow(10,x);
  26. }
  27.  
  28.  
  29. //zabezpieczenie pola ilosc i wartosc. przecinek na kropke i sprawdza czy nie ujemna wartosc. można by jeszcze to rozbudowac ododatkową walidacje np przypadku ,500 .
  30.  
  31. $( document ).on( "input", ".prod_ilosc", function() {
  32.  
  33. this.value=this.value.replace(',','.');
  34.  
  35. if($(this).val() < 0) {
  36. alert('Podaj wartość dodatnią.');
  37. $(this).val(0);
  38. }
  39.  
  40. });
  41. </script>


Ten post edytował starterrrrr 14.03.2018, 11:45:44
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:56