Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zliczanie wartości pola formularza
piottro1
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 5.12.2010

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


Witam
Utworzyłem taki oto formularz:
  1. <form action="..." onreset="if (!confirm('Czy na pewno chcesz wyczyścicć cały formularz?')) return false">
  2. <!-- brak opcji wyboru -->
  3. <strong>1.</strong><br />
  4. <label>1.1<input type="checkbox" id="01" name="checkbox" value="50" disabled="disabled" checked="checked" /></label><br />
  5.  
  6. <!-- Dwie opcje wyboru, 2 x radio, wybor tylko jednej -->
  7. <strong>2.</strong><br />
  8. <label>2.1<input type="radio" id="02" name="radio2" value="50" /></label><br />
  9. <label>2.2<input type="radio" id="03" name="radio2" value="10" checked="checked" /></label><br />
  10.  
  11. <!-- Cztery opcje wyboru, 4 x radio, wybor tylko jednej -->
  12. <strong>3.</strong><br />
  13. <label>3.1<input type="radio" id="04" name="radio3" value="20" checked="checked" /></label><br />
  14. <label>3.2<input type="radio" id="05" name="radio3" value="40" /></label><br />
  15. <label>3.3<input type="radio" id="06" name="radio3" value="70" /></label><br />
  16. <label>3.4<input type="radio" id="07" name="radio3" value="120" /></label><br />
  17.  
  18. <!-- Cztery opcje wyboru, 4 x radio, wybor tylko jednej -->
  19. <strong>4.</strong><br />
  20. <label>4.1<input type="radio" id="08" name="radio4" value="20" checked="checked" /></label><br />
  21. <label>4.2<input type="radio" id="09" name="radio4" value="20" /></label><br />
  22. <label>4.3<input type="radio" id="10" name="radio4" value="30" /></label><br />
  23. <label>4.4<input type="radio" id="11" name="radio4" value="50" /></label><br />
  24.  
  25. <!-- Dwa pola wyboru, 2 x checkbox, mozna wybrac dwa -->
  26. <strong>5.</strong><br />
  27. <label>5.1<input type="checkbox" id="12" name="checkbox" value="50" /></label><br />
  28. <label>5.2<input type="checkbox" id="13" name="checkbox" value="50" /></label><br />
  29.  
  30. <!-- Button WYSLIJ -->
  31. <input type="submit" value="Podlicz" /><br />
  32. <!-- Button WYCZYSC, czysci zaznaczenia -->
  33. <input type="reset" value="Wyczyść" /><br />
  34. <label>Suma: <input type="text" name="nazwa" readonly="readonly" /></label><br />
  35. </form>

Chciałbym uzyskać efekt zliczenia wartości tylko zaznaczonych/wybranych pól (np value="50") i wyświetlenie ich sumy.
Nie bardzo wiem jak się do tego zabrać. Dla kogoś doświadczonego to pewnie będzie proste.
Z góry dziękuję za pomoc.

Ten post edytował piottro1 18.06.2011, 18:06:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piottro1
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 5.12.2010

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


Miałeś rację, ten kod, który mi podawałeś działa. Pozbierałem wszystko i jakoś udało mi się uruchomić ten formularz.
Podaję cały, działający kod, może się komuś przyda:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta name="generator" content="WebSite PRO 4.3" />
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <meta http-equiv="Reply-to" content="" />
  7. <meta http-equiv="content-Language" content="pl" />
  8. <meta name="keywords" content="" />
  9. <meta name="description" content="" />
  10. <meta name="Author" content="" />
  11. <meta name="robots" content="all" />
  12. <title></title>
  13. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
  14. <script type="text/javascript">
  15. function toggleChecked(status) {
  16. $(".checkbox").each( function() {
  17. $(this).attr("checked",status);
  18. });
  19. }
  20. function toggleChecked(status) {
  21. $(".checkboxes input").each( function() {
  22. $(this).attr("checked",status);
  23. });
  24. }
  25. </script>
  26. <script language="JavaScript" type="text/javascript">
  27. function clearDefault(EL) {
  28. if (EL.defaultValue == EL.value) EL.value = '';
  29. }
  30. </script>
  31. <style type="text/css">
  32. * {
  33. padding: 0;
  34. margin: 0;
  35. }
  36.  
  37. body {
  38. font: 12px/*85%/1.3*/ Verdana, Arial, sans-serif;
  39. color: #345032;
  40. background-color: white;
  41. }
  42.  
  43. p,h1,h2,h3,h4,h5,h6,li,ul,ol,img, br {
  44. margin: 0;
  45. padding: 0;
  46. }
  47. div.content {
  48. margin: 0 auto;
  49. width:700px;
  50. height:auto;
  51. padding-top:20px;
  52. padding-left: 90px;
  53. padding-bottom: 10px;
  54. background-color: #fff;
  55. border-top: 35px solid #18668b;
  56. border-bottom: 5px solid #18668b;
  57. border-left: 5px solid #18668b;
  58. border-right: 5px solid #18668b;
  59. }
  60. td.left1 {
  61. width:85%;
  62. height:20px;
  63. font-weight : bold;
  64. padding: 0px 40px;
  65. }
  66. td.left2 {
  67. width:100px;
  68. height:20px;
  69. padding: 0px 10px;
  70. }
  71. td.wyczysc, td.wyslij, td.reset, td.wynik {
  72. width: 22%;
  73. }
  74. </style>
  75. </head>
  76. <body>
  77. <div id="center">
  78. <form action="" method="POST" onreset="if (!confirm('Czy na pewno mam wyczyścić Twoje zaznaczenia oraz wynik ?')) return false; else window.location=self.location">
  79. <div class="content">
  80. <table bgcolor="transparent" border="0" width="88%" cellspacing="0" cellpadding="0">
  81. <ul>
  82. <tr>
  83. <!-- brak opcji wyboru -->
  84. <td class="left1">1.</td>
  85. </tr>
  86. <tr>
  87. <td class="left2"><li>+40<span class="rmove"><input type="radio" id="01" name="radio1" value="40" checked="checked" /></span></li></td>
  88. </tr>
  89. <tr>
  90. <!-- Dwie opcje wyboru, 2 x radio, wybor tylko jednej -->
  91. <td class="left1">2.</td>
  92. </tr>
  93. <tr>
  94. <td class="left2"><li><label>+10<span class="rmove"><input type="radio" id="03" name="radio2" value="10" checked="checked" /></span></label></li></td>
  95. </tr>
  96. <tr>
  97. <td class="left2"><li><label>+50<span class="rmove"><input type="radio" id="02" name="radio2" value="50" /></span></label></li></td>
  98. </tr>
  99. <tr>
  100. <!-- Cztery opcje wyboru, 4 x radio, wybor tylko jednej -->
  101. <td class="left1">3.</td>
  102. </tr>
  103. <tr>
  104. <td class="left2"><li><label>+10<span class="rmove"><input type="radio" id="04" name="radio3" value="10" checked="checked" /></span></label></li></td>
  105. </tr>
  106. <tr>
  107. <td class="left2"><li><label>+40<span class="rmove"><input type="radio" id="05" name="radio3" value="40" /></span></label></li></td>
  108. </tr>
  109. <tr>
  110. <td class="left2"><li><label>+70<span class="rmove"><input type="radio" id="06" name="radio3" value="70" /></span></label></li></td>
  111. </tr>
  112. <tr>
  113. <td class="left2"><li><label>+120<span class="rmove"><input type="radio" id="07" name="radio3" value="120" /></span></label></li></td>
  114. </tr>
  115. <tr>
  116. <!-- Cztery opcje wyboru, 4 x radio, wybor tylko jednej -->
  117. <td class="left1">4.</td>
  118. </tr>
  119. <tr>
  120. <td class="left2"><li><label>+20<span class="rmove"><input type="radio" id="08" name="radio4" value="20" checked="checked" /></span></label></li></td>
  121. </tr>
  122. <tr>
  123. <td class="left2"><li><label>+20<span class="rmove"><input type="radio" id="09" name="radio4" value="20" /></span></label></li></td>
  124. </tr>
  125. <tr>
  126. <td class="left2"><li><label>+30<span class="rmove"><input type="radio" id="10" name="radio4" value="30" /></span></label></li></td>
  127. </tr>
  128. <tr>
  129. <td class="left2"><li><label>+50<span class="rmove"><input type="radio" id="11" name="radio4" value="50" /></span></label></li></td>
  130. </tr>
  131. <tr>
  132. <!-- Dwa pola wyboru, 2 x checkbox, mozna wybrac dwa -->
  133. <td class="left1"><label>5.<span style="padding-left:155px;font-size:10px;color:#888;font-style:italic;">[<span style="color:#000">zaznacz</span>]\[<span style="color:#000">odznacz</span>] wszystkie </span><input type="checkbox" onclick="toggleChecked(this.checked)"></label></td>
  134. </tr>
  135. <tr>
  136. <td class="left2"><li><label>+50<span class="rmove"><span class="checkboxes"><input type="checkbox" id="12" name="checkbox1" value="50" /></span></span></label></li></td>
  137. </tr>
  138. <tr>
  139. <td class="left2"><li><label>50<span class="rmove"><span class="checkboxes"><input type="checkbox" id="13" name="checkbox2" value="50" /></span></span></label></li></td>
  140. </tr>
  141. </ul>
  142. </table>
  143. <br />
  144. <div id="footer">
  145. <table cellspacing="0" cellpadding="0">
  146. <tr>
  147. <!-- Button WYCZYSC, czysci zaznaczenia i wynik -->
  148. <td class="wyczysc"><input type="reset" value="Wyczyść zaznaczenia" style="color: #18668B; background-color: #AACBBB; font-weight: bold; width: 180px; border-style: groove; border-color: #18668B; border-width: 1px" /></td>
  149. <!-- Button WYSLIJ -->
  150. <td class="wyslij"><input name="submit" type="submit" value="OBLICZ" style="color: #18668B; background-color: #AACBBB; font-weight: bold; width: 100px; border-style: groove; border-color: #18668B; border-width: 1px" /></td>
  151. <!-- Wynik Obliczen -->
  152. <td class="wynik"><span style="font-weight: bold; font-size:12px; color:#cdd1d1; ">Wynik:</span> <?php
  153. if (isset($_POST['submit'])) {
  154. $zlicz = $_POST['radio1'] + $_POST['radio2'] + $_POST['radio3'] + $_POST['radio4'] + $_POST['checkbox1'] + $_POST['checkbox2'];
  155. echo('<input type="text" onFocus="clearDefault(this);" name="nazwa" value="' . $zlicz . ' Punktów" style="color: #FF0000; background-color: #AACBBB; font-weight: bold; width: 105px; height: 18px; border-style: groove; border-color: #cdd1d1; border-width: 1px; padding-left:10px" readonly="readonly" /><br />');
  156. }
  157. ?></td>
  158. </tr>
  159. </table>
  160. </div>
  161. </div>
  162. </form>
  163. </div>
  164. </body>
  165. </html>


Proszę o sprawdzenie, ale powinno być wszystko ok.
Jeszcze raz bardzo dziękuję za pomoc.

Ten post edytował piottro1 23.06.2011, 21:14:36
Go to the top of the page
+Quote Post

Posty w temacie
- piottro1   [PHP] Zliczanie wartości pola formularza   18.06.2011, 12:37:40
- - markonix   W PHP czy JS (przed wysłaniem formularza)?   18.06.2011, 12:39:09
- - piottro1   Właśnie nie wiem, ale może php.   18.06.2011, 12:40:55
- - markonix   Tworzysz zmienną np. $count = 0. I dodajesz ...   18.06.2011, 12:43:33
- - piottro1   To trzeba zrobić w osobnym pliku ? I wpisać jego n...   18.06.2011, 12:48:12
- - markonix   Możesz to zrobić w osobnym pliku, możesz dać actio...   18.06.2011, 13:36:26
- - piottro1   Czyli coś takiego? [PHP] pobierz, plaintext <?p...   18.06.2011, 13:47:42
- - markonix   Tak, musisz wyświetlić wartość za pomocą echo albo...   18.06.2011, 14:00:35
- - piottro1   Tak, nigdy nie będzie zero. Czy coś takiego może b...   18.06.2011, 14:12:33
- - sada   echo "Suma:$count";   18.06.2011, 14:27:15
- - piottro1   Poprawiłem echo. [PHP] pobierz, plaintext <?ph...   18.06.2011, 14:37:27
- - markonix   Usuń średnik za ifem i troszkę się poducz podstaw.   18.06.2011, 15:21:01
- - piottro1   Troszkę? Muszę dużo się nauczyć. Usunąłem średnik...   18.06.2011, 15:41:13
- - markonix   Pokaż cały kod strony.   18.06.2011, 15:51:23
- - piottro1   [PHP] pobierz, plaintext <?php$count = 0;$count...   18.06.2011, 16:32:39
- - markonix   Pomyśl troszkę, nie możesz echować czyli wysyłać d...   18.06.2011, 16:43:36
- - piottro1   Dziękuję bardzo za dalszą pomoc, ale niestety nie ...   18.06.2011, 17:08:37
- - markonix   Zmień metodę wysyłania formularza z GET (które jes...   18.06.2011, 19:46:58
- - piottro1   Jesteś wielki kolego, skrypt zadziałał, zaczęło si...   18.06.2011, 20:33:17
- - markonix   Wartości z "disabled" inputa nie pobierz...   18.06.2011, 21:19:56
- - piottro1   Zamiast checkbox dałem radio i to mi już pasuje. ...   18.06.2011, 21:30:55
- - markonix   Bo jeśli odświeżasz stronę to wysyłasz formularz p...   19.06.2011, 00:05:41
- - piottro1   No niestety, ale <button onclick="window.l...   19.06.2011, 18:16:42
|- - markonix   Cytat(piottro1 @ 19.06.2011, 19:16:42...   19.06.2011, 21:59:24
- - piottro1   Miałeś rację, ten kod, który mi podawałeś działa. ...   23.06.2011, 20:56:40


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

 



RSS Aktualny czas: 27.12.2025 - 07:45