Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [javascript] zaokrąglanie wyniku w inpucie
Forum PHP.pl > Forum > Przedszkole
Beneglih
znalazłem na forum rozwiązanie jednej z moich potrzeb czyli wykonywanie mnożenia na 2 inputach
dorzuciłem też dodatkową opcję na której mi zależy, czyli aby wynik był zaokrąglany do 2 miejsc po przecinku

skrypt wygląda tak

  1. function sprawdz(){
  2. if(!isNaN(document.x.cena.value) && !isNaN(document.x.ilosc.value)){
  3. document.x.wartosc.value=document.x.cena.value*document.x.ilosc.value;
  4. }
  5. else { document.x.wartosc.value="Musisz wpisac liczby"; }
  6. }
  7.  
  8. function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
  9. var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  10. document.x.wartosc.value = parseFloat(newnumber); // Output the result to the form field (change for your purposes)
  11. }
  12. </head>
  13.  
  14. <form action="test.php" method="post" name="x" id="x">
  15. Cena<input type="text" name="cena" id="cena" onkeyup="sprawdz()" /><br/>
  16. Ilość<input type="text" name="ilosc" id="ilosc" onkeyup="sprawdz()" />szt. / kg<br/>
  17. Wartość<input type="text" name="wartosc" id="wartosc" />
  18. <input type="button" value="Round" onClick="roundNumber(wartosc.value, 2);"><br>
  19. </form>


póki co zaokrąglanie odbywa się po kliknięciu w button "Round"
czy da się to tak przerobić, żeby wynik automatycznie był zaokrąglany, a nie trzeba było angażować do tego funkcji onClick?

tak żeby wynik w polu Wartość był automatycznie zaokrąglony

z góry dzięki za podpowiedź wink.gif
kkuubbaa88
musisz funkcję dać do input z ceną i ilością w zdarzeniu onchange czy onkeydown czy onkeyup. wtedy funkcja będzie wywoływana automatycznie po wprowadzeniu jakichkolwiek zmian.
Beneglih
super!
działa, dzięki bardzo za pomoc :-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.