Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak obliczyć w formularza sumę dwóch pól php/javascryp
Forum PHP.pl > Forum > PHP
zebrowski1073
mam formularz chce obliczyć sumę dwóch pól w trzecim nie wiem jak to robić

  1. <form action="<? echo $link ;?>" method="post" enctype="multipart/form-data">
  2. ....
  3. label>
  4. <span>Netto</span>
  5. <input name="netto" type="text" size="7" maxlength="7" value="<? $dane['netto']; ?>" class="input-short" />
  6. <div class="em">*</div>
  7. </label>
  8. <label>
  9. <span>Vat</span>
  10. <select name="vat" class="input-short">
  11. <? $vat = $db->pobierz('SELECT * from podatek ORDER BY lp ASC') ;
  12. if(is_array($vat)) { foreach($vat as $v) {?>
  13. <option id="<? echo $v['vat']; ?>"><? echo $v['nazwa']; ?></option>
  14. <? }} ?>
  15. </select>
  16. </label>
  17. <label>
  18. <span>Cena</span>
  19. <input name="cena" type="text" size="7" maxlength="7" class="input-short" readonly />
  20. </label>
  21. ...
  22. </form>


Wynik pola netto i vat aby wyświetlany był w polu cena
b4rt3kk
Jeśli dopuszczasz możliwość przeładowania strony, czyli wysłania formularza (i dopiero wtedy wyświetla się wynik). To jaki problem w PHP zrobić coś takiego?

  1. <input value="<?php echo $_POST['pole1'] + $_POST['pole2']; ?>">


Natomiast jeśli chcesz by się to odbywało przed wysłaniem formularza to pozostaje tylko JS.
zebrowski1073
A jak zrobić bez wysyłania formularza tylko od razu w formularzu. Bo tak jak powyższy przykład to wiem
Christmas Fish
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('#policz').on('click', function() {
  4. var netto = $('#netto').val();
  5. var vat = $('#vat').val();
  6. $('#cena').val(netto * vat);
  7. });
  8. });
  9. </script>

  1. <input type="text" id="netto" placeholder="Netto">
  2. <input type="text" id="vat" placeholder="Vat">
  3. <input type="button" id="policz" value="policz"><br>
  4. <input type="text" id="cena" placeholder="Cena">

Na szybko, działa
zebrowski1073
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('#policz').on('click', function() {
  4. var netto = $('#netto').val();
  5. var vat = $('#vat').val();
  6. $('#cena').val(netto + ((netto * vat)/100));
  7. });
  8. });
  9. </script>
  10.  
  11. <form name="produkt" action="<? echo $link ;?>" method="post" enctype="multipart/form-data">
  12.  
  13. <label>
  14. <span>Kategorie</span>
  15. <select name="kat" class="input-short">
  16. <option id="0">....................</option>
  17. <?
  18. if($pro[2] == 0) {
  19. if(is_array($p)) { foreach($p as $v) {?>
  20. <option id="<? echo $v['lp']; ?>"><? echo $v['nazwa']; ?></option>
  21. <? }}} ?>
  22. </select>
  23. </label>
  24. <label>
  25. <span>Nazwa</span>
  26. <input name="nazwa" type="text" size="60" maxlength="59" value="<? $dane['nazwa']; ?>" class="input-short" />
  27. <div class="em">*</div>
  28. </label>
  29. <label>
  30. <span>Html</span>
  31. <input name="html" type="text" size="60" maxlength="59" value="<? $dane['html']; ?>" class="input-short" />
  32. <div class="em">*</div>
  33. </label>
  34. <label>
  35. <span>Netto</span>
  36. <input name="netto" type="text" size="7" maxlength="7" value="<? $dane['netto']; ?>" class="input-short" />
  37. <div class="em">*</div>
  38. </label>
  39. <label>
  40. <span>Vat</span>
  41. <select name="vat" class="input-short">
  42. <? $vat = $db->pobierz('SELECT * from podatek ORDER BY lp ASC') ;
  43. if(is_array($vat)) { foreach($vat as $v) {?>
  44. <option id="<? echo $v['vat']; ?>"><? echo $v['nazwa']; ?></option>
  45. <? }} ?>
  46. </select>
  47. </label>
  48. <input type="button" id="policz" value="policz">
  49. <label>
  50. <span>Cena</span>
  51. <input name="cena" type="text" size="7" maxlength="7" class="input-short" readonly />
  52. </label>
  53.  
  54. <hr />
  55.  
  56. <label><span>Opis</span></label><br />
  57. <textarea name="opis" cols="110" rows="30">
  58. <? $dana['opis']; ?></textarea><br />
  59. <label><div class="em">*</div></label>
  60.  
  61. <label>
  62. <span>Pokaż produkt</span>
  63. <select name="akty" class="input-short">
  64. <option {if $dane.akty == 0} selected="selected" {/if} id="0">0 Tak</option>
  65. <option {if $dane.akty == 1} selected="selected" {/if} id="1">1 Nie</option>
  66. </select>
  67. </label>
  68.  
  69. &nbsp;&nbsp; &nbsp;&nbsp;
  70. <input class="submit-green" type="submit" value="Zapis" />
  71. <div class="em_info">* wymagane pola</div>
  72.  
  73. </form>



gdzie $link = admin.php?id=pro_1&str=1&page=dodaj


Nie działa nic mi nie pokazuje może jest błąd. Nie umiem javascrypt. Proszę o pomoc
koreja
  1. <script type="text/javascript">
  2. jQuery(document).ready(function() {
  3. jQuery('body').delegate('[name=netto], [name=vat]','keyup',function() {
  4. jQuery('[name=cena]').val(parseFloat(jQuery('[name=netto]').val()) + parseFloat(jQuery('[name=vat]').val()));
  5. });
  6. });


Tylko musisz mieć załadowany jQuery.
zebrowski1073
Mam załadowane takie jQuery. chyba że trzeba inne lub któreś jest niepotrzebnie załadowanie

<script src="/js/jquery-1.7.2.min.js"></script>
<script src="/js/jquery.js"></script>

ale nadal nic mi się pokazuje w polu cena acha obliczenie matematyczne musi być

cena = neto + ((netto * vat)/100)
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.