Witam!
Mam mały problem... pewnie rozwiązanie będzie proste ale ja za długo się wpatruję, żeby to znaleźć albo po prostu za mało chleba zjadłem wink.gif

Cel: Wpisuję w 3 POLA INPUT kwotę netto, wartość dopłaty w % oraz rabat w %. W 2 POLA niżej ma mi się wyświetlić wartość zlecenia netto z doliczoną dopłatą i odjętym rabatem oraz wartość brutto.

Mam taki oto html:
  1. <li>
  2. <label for="wartosc-zlecenia-netto">WPISZ KWOTĘ - NETTO</label>
  3. <input type="text" onchange="oblicz('wartosc1', 'wartosc2', 'wartosc3', 'wartosc4', 'wartosc5')" name="wartosc-zlecenia-netto" id="wartosc1"/>
  4. </li>
  5. <li>
  6. <label for="doplata">WPISZ DOPŁATĘ W %</label>
  7. <input type="text" onchange="oblicz('wartosc1', 'wartosc2', 'wartosc3', 'wartosc4', 'wartosc5')" name="doplata" id="wartosc2"/>
  8. </li>
  9. <li>
  10. <label for="rabat">WPISZ RABAT W %</label>
  11. <input type="text" onchange="oblicz('wartosc1', 'wartosc2', 'wartosc3', 'wartosc4', 'wartosc5')" name="rabat" id="wartosc3"/>
  12. </li>
  13. <li>
  14. <label for="wartosc-zlecenia-rabat">KWOTA NETTO PO RABACIE - OBLICZA SIĘ SAMA</label>
  15. <input type="text" readonly="readonly" name="wartosc-zlecenia-doplata-rabat" id="wartosc4"/>
  16. </li>
  17. <li>
  18. <label for="wartosc-zlecenia-brutto">KWOTA - BRUTTO - OBLICZA SIĘ SAMA</label>
  19. <input type="text" readonly="readonly" name="wartosc-zlecenia-doplata-rabat" id="wartosc5"/>
  20. </li>


oraz JS obsługujący powyższy formularz:

  1. function oblicz(wartosc1, wartosc2, wartosc3, wartosc4, wartosc5)
  2. {
  3. var wartosc1 = document.getElementById(wartosc1).value;
  4. var wartosc2 = document.getElementById(wartosc2).value;
  5. var wartosc3 = document.getElementById(wartosc3).value;
  6.  
  7. /* OBLICZANIE KWOTY NETTO Z UWZGLĘDNIONĄ DOPŁATĄ I RABATEM */
  8. var wyniknettodoplata = wartosc1 + (wartosc1*wartosc2)/100;
  9. wyniknettodoplata = Math.round(wyniknettodoplata*100)/100;
  10.  
  11. var wyniknettodoplatarabat = wyniknettodoplata - (wyniknettodoplata * wartosc3)/100;
  12. wyniknettodoplatarabat = Math.round(wyniknettodoplatarabat * 100)/100;
  13.  
  14. /* OBLICZANIE KWOTY BRUTTO */
  15. var wynikbrutto = wyniknettodoplata + ((wyniknettodoplata * 23)/100);
  16. wynikbrutto = Math.round(wynikbrutto*100)/100;
  17.  
  18.  
  19. /* WRZUCANIE WYNIKÓW W POLA */
  20. document.getElementById(wartosc4).value = wyniknettodoplatarabat;
  21. document.getElementById(wartosc5).value = wynikbrutto;
  22. };


Ogólnie machina rusza ale coś jest nie tak... procent oblicza ale dopłatę traktuje jak string a nie jak liczbę. ;/

Pozdrawiam

Przepraszam.... temat zamknięty. Pomogła funkcja parseFloat().