Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przeliczenie wartości z kilku pól i wstawienie do, innego pola
artur81
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Witam!
Stanąłem przed problemem, którego nie mogę obejść. Dla większości pewenie sprawa błaha jednak dla mnie jako laika w JS nie do przejścia. Mam taki kod (tyle mi się udało do tej pory wypocić.
  1. <script type="text/javascript">
  2. function przelicz_suma() {
  3. gaz=parseFloat(document.wplata.gaz.value);
  4. prad=parseFloat(document.wplata.prad.value);
  5. tel_kom=parseFloat(document.wplata.tel_kom.value);
  6. tel_stac=parseFloat(document.wplata.tel_stac.value);
  7. isko=parseFloat(document.wplata.isko.value);
  8. inne=parseFloat(document.wplata.inne.value);
  9. prowizja=parseFloat(document.wplata.prowizja.value);
  10. var suma;
  11. suma = gaz + prad + tel_kom + tel_stac + isko + inne + prowizja;
  12. var suma_wplat = document.wplata.suma_wplat;
  13. suma_wplat.value += suma;
  14. }
  15.  
  16.  
  17.  
  18.  
  19.  
  20. </head>
  21. <form method="GET" action="wplata_action.php" name="wplata">
  22. <input type = "hidden" name="akcja" value="dodaj">
  23. <input type = "hidden" name="id_wplaty" value=""><table>
  24. <tr><td><font color=black><b>Data wpłaty:</b></font></td><td><input type = "text" name="data_wplaty" size="30" title="Data wpłaty" value="<?php echo $data_przetwarzania ?>" disabled="disabled"></td></tr>
  25. <tr><td><font color=black><b>Wpłacający:</b></font></td><td><input type = "text" name="nazwisko" size="30" title="Nazwisko i imię wpłacającego" value="<?php echo $nazwisko ?>" disabled="disabled"></td></tr>
  26. <tr><td><font color=black><b>Ulica, nr domu i mieszkania:</b></font></td><td><input type = "text" name="ulica" size="30" title="Ulica, nr domu i mieszkania" value="<?php echo $adres ?>" disabled="disabled"></td></tr>
  27. <tr><td><font color=black><b>Miasto:</b></font></td><td><input type = "text" name="miasto" size="30" title="Ulica, nr domu i mieszkania" value="<?php echo $miasto ?>" disabled="disabled"></td></tr>
  28. <tr><td><font color=black><b>Gaz:</b></font></td><td><input type = "text" name="gaz" size="30" title="Gaz" value="0" onChange="przelicz_suma()"></td></tr>
  29. <tr><td><font color=black><b>Prąd:</b></font></td><td><input type = "text" name="prad" size="30" title="Prąd" value="0" onChange="przelicz_suma()"></td></tr>
  30. <tr><td><font color=black><b>Isko:</b></font></td><td><input type = "text" name="isko" size="30" title="Isko" value="0" onChange="przelicz_suma()"></td></tr>
  31. <tr><td><font color=black><b>Telefonia GSM:</b></font></td><td><input type = "text" name="tel_kom" size="30" title="Telefonia GSM" value="0" onChange="przelicz_suma()"></td></tr>
  32. <tr><td><font color=black><b>Telefonia stacjonarna:</b></font></td><td><input type = "text" name="tel_stac" size="30" title="Telefonia stacjonarna" value="0" onChange="przelicz_suma()"></td></tr>
  33. <tr><td><font color=black><b>Inne:</b></font></td><td><input type = "text" name="inne" size="30" title="Inne" value="0" onChange="przelicz_suma()"></td></tr>
  34. <tr><td><font color=black><b>Suma opłat:</b></font></td><td><input type = "text" name="suma_wplat" size="30" title="Suma opłat" value="0" disabled="disabled" style="background:#EEEB7B; font-weight:bold; color:#000000"></td></tr>
  35. <tr><td><font color=black><b>Gotówka:</b></font></td><td><input type = "text" name="kont_gotowka" size="30" title="Gotówka" value="0" ></td></tr>
  36. <tr><td><font color=black><b>Reszta:</b></font></td><td><input type = "text" name="suma_wplat" size="30" title="Reszta" value="0" disabled="disabled" ></td></tr>
  37. <tr><td><font color=black><b>Prowizja:</b></font></td><td><input type = "text" name="prowizja" size="30" title="Prowizja" value="0" disabled="disabled" ></td></tr>
  38. </table><input type="submit" value="Wpłać" title="Wciśnij aby zaakceptować wpłatę"></form>


Chcę osiągnąć coś takiego żeby skrypt umieszczał mi w polu suma_wplat sumę pól gaz, prad, tel_stac, tel_kom, inne, isko. Dodatkowo w polu prowizja ma się znajdować kwota 2,5 przemnożona przez ilość wpłat większych od zera z pól gaz, prad, tel_stac, tel_kom, inne, isko. Wszystko byłoby fajnie jakbym mógł odświeżyć stronę. Bym to proste działanie napisał sobie w php. Z tym że niestety nie mogę, wszystko musi być przeliczone zanim wpis zostanie dodany do bazy. Możecie mi pomóc?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1)pole suma wplat nie rob disabled, gdyz nie wysle sie ono formularzem. nadaj mu atrybut readonly.
2) nadawaj dla pol rowniez parametr id i do pol dobieraj się tak:
Kod
pole = document.getElementById('idpola');
//i potem normalnie: pole.value

podaje ci poprawione pole suma_wplat. na podobnej zasadzie popraw pozostale:
  1. <input type = "text" name="suma_wplat" id="suma_wplat" size="30" title="Suma opłat" value="0" readonly="readonly" style="background:#EEEB7B; font-weight:bold; color:#000000" />


3)nie dodawaj do pola suma_wplat sumy, tylko ją nadpisuj:

Kod
//....
suma = gaz + prad + tel_kom + tel_stac + isko + inne + prowizja;
var suma_wplat = document.getElementById('suma_wplat');
suma_wplat.value = suma;

//...


ps: z resztą to już chyba sam powinieneś sobie poradzić smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artur81
post
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Dzięki nospor za odpowiedź, poprawiłem sobie wszystko tak jak napisałeś, fukcja niby działa ale zwraca jakiś dziwny wynik. W polu suma_wplat pojawia się napis

[object][object][object][object][object][object][object]

Cała funkcja wygląda tak
  1. function przelicz_suma() {
  2. gaz=document.getElementById('gaz');
  3. prad=document.getElementById('prad');
  4. tel_kom=document.getElementById('tel_kom');
  5. tel_stac=document.getElementById('tel_stac');
  6. isko=document.getElementById('isko');
  7. inne=document.getElementById('inne');
  8. prowizja=document.getElementById('prowizja');
  9. var suma = gaz + prad + tel_kom + tel_stac + isko + inne + prowizja;
  10. suma_wplat = document.getElementById('suma_wplat');
  11. suma_wplat.value = suma;
  12. }


Co jest jeszcze nie tak?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




widze ze nie czytasz dokladnie komentarzy, ktore umiescilem winksmiley.jpg
Cytat
//i potem normalnie: pole.value


czyli u ciebie powinno byc tak:
Kod
gaz=document.getElementById('gaz').value;
i reszta podobnie smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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 - 06:38