Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie wartości z pól tekstowych
Forum PHP.pl > Forum > PHP
dudek90
Witam,

Mam formularz, który posiada kilka pól tekstowych o właściwości display = "none".
Pola te zmieniają swoją właściwość display na "block" (czyli stają się po prostu widoczne) gdy zaznaczę pole opcji (radio). Robię to przez zdarzenie onlick. I do tego momentu wszystko działa jak należy.
Na formularzu mam także przycisk. Po naciśnięciu przycisku mam takie coś:

  1. if(isset($_POST['btn_zamow']))
  2. {
  3. $wysylka_imie = $_POST['txt_wysylka_imie'];
  4. $wysylka_nazwisko = $_POST['txt_wysylka_nazwisko'];
  5. $typ_wysylki = $_POST['txt_typ_wysylki'];
  6. }


Pole txt_typ_wysylki to pole które jest cały czas widoczne na formularzu i wartość z niego jest normalnie bez problemu przypisywana do zmiennej $typ_wysylki.
Natomiast pola 'txt_wysylka_imie' oraz 'txt_wysylka_nazwisko' to pola, które są początkowo niewidoczne i uwidoczniają się dopiero wtedy gdy użytkownik zaznaczy pole opcji.
I niestety nawet gdy pole opcji jest zaznaczone to zmienne $wysylka_imie oraz $wysylka_nazwisko nie przejmują wartości z tych pól.

Może mi ktoś powiedzieć czym to jest spowodowane i jak to poprawić ?
Za wszelką pomoc będę bardzo wdzięczny.
Fifi209
  1. var_dump($_POST)


Zobacz czy w ogóle ukryte się wysyłają.
dudek90
Niestety nie wysyłają się... sad.gif (zwraca mi string(0) "" )
Czy ktoś zna jakiś sposób jak to naprawić ?
CuteOne
podaj kod formularza
dudek90
  1. <form action="" method="post" accept-charset="utf-8">
  2. <p style="width: 750px; margin: auto; margin-top: 30px; margin-bottom: 5px; text-align: left; font-size: 14pt; font-weight: bold;">
  3. Ilość: <input type="text" name="txt_ilosc" maxlength="2" style="width: 25px; margin-left: 10px; font-size: 14pt;"/>
  4. </p>
  5.  
  6. <table class="table_form" id="dane_wysylka" style="display: none;">
  7. <tr>
  8. <th>Imię i nazwisko:</th>
  9. <td>
  10. <input type="text" name="txt_wysylka_imie" <?php if(isset($wysylka_imie)) echo 'value="'.$wysylka_imie.'"'; ?> /> <input type="text" name="txt_wysylka_nazwisko" />
  11. </td>
  12. </tr>
  13. </table>
  14. </form>


No i pole txt_ilosc jest przesylane bez problemu natomiast txt_wysylka_imie oraz txt_wysylka_nazwisko juz nie....sad.gif
Próbowałem też dodać w znaczniku form enctype="application/x-www-form-urlencoded" oraz enctype="multipart/form-data" a także enctype="text/plain" ale to nic nie zmienia ;/

Może mam jakoś źle skonfigurowany serwer ? Choć z drugiej strony po wrzuceniu tego skryptu na stronę www także zmienne nie są wysyłane.
tehaha
jeżeli chcesz pomocy to po pierwsze wklej cały kod formularza, pisałeś wcześniej o input/radio kodzie js onclick() itp. i gdzie to jest?
dudek90
Witam,

Przepraszam za zwłokę.
Oto cały kod formularza i JS.

  1. <form action="" method="post" accept-charset="utf-8">
  2. <p style="width: 750px; margin: auto; margin-top: 30px; margin-bottom: 5px; text-align: left; font-size: 14pt; font-weight: bold;">
  3. Ilość: <input type="text" name="txt_ilosc" maxlength="2" style="width: 25px; margin-left: 10px; font-size: 14pt;"/>
  4. </p>
  5.  
  6. <p class="naglowek">
  7. FORMA PŁATNOŚCI
  8. </p>
  9.  
  10. <p style=" width: 750px; margin: auto; margin-top: 20px;">
  11. <span style="float: left;">
  12. Przelew<input type="radio" name="radio_platnosc" id="radio_przelew" value="przelew" <?php if($typ_platnosci == "przelew") echo 'checked="checked"'; ?> onclick="hide_platnosc(this.id);" />
  13. </span>
  14. <span>
  15. Przesyłka pobraniowa<input type="radio" name="radio_platnosc" id="radio_pobranie" value="pobranie" <?php if($typ_platnosci == "pobranie") echo 'checked="checked"'; ?> onclick="hide_platnosc(this.id);" />
  16. </span>
  17. <span style="float: right;">
  18. Odbiór osobisty<input type="radio" name="radio_platnosc" id="radio_odbior_osobisty" value="odbior_osobisty" <?php if($typ_platnosci == "odbior_osobisty") echo 'checked="checked"'; ?> onclick="hide_platnosc(this.id);" />
  19. </span>
  20. </p>
  21.  
  22. <p id="txt_info_przelew" class="ukryj" style="margin-top: 50px; margin-bottom: 50px;">DANE DO PRZELEWU<br/></p>
  23. <p id="txt_info_odbior_osobisty" class="ukryj" style="margin-top: 50px; margin-bottom: 50px;">ODBIOR OSOBISTY</p>
  24. <p id="txt_info_przesylka" class="ukryj" style="margin-top: 50px; margin-bottom: 50px;">KOSZTY OBSŁUGI I PRZESYŁKI 20 ZŁ</p>
  25.  
  26.  
  27. <p id="naglowek_wysylka" class="naglowek" style="display: none; ">
  28. DANE DO WYSYŁKI
  29. </p>
  30.  
  31. <table class="table_form" id="dane_wysylka" style="display: none;">
  32. <tr>
  33. <th>Imię i nazwisko:</th>
  34. <td>
  35. <input type="text" name="txt_wysylka_imie" <?php if(isset($wysylka_imie)) echo 'value="'.$wysylka_imie.'"'; ?> /> <input type="text" name="txt_wysylka_nazwisko" />
  36. </td>
  37. </tr>
  38.  
  39. <tr>
  40. <th>E-mail:</th>
  41. <td>
  42. <input type="text" name="txt_wysylka_email" />
  43. </td>
  44. </tr>
  45.  
  46. <tr>
  47. <th>Ulica, dom, lokal:</th>
  48. <td>
  49. <input type="text" name="txt_wysylka_ulica" />
  50. <input type="text" name="txt_wysylka_nr_domu" style="width: 30px;"/> /
  51. <input type="text" name="txt_wysylka_nr_lokalu" style="width: 30px;" />
  52. </td>
  53. </tr>
  54.  
  55. <tr>
  56. <th>Kod pocztowy, miejscowość:</th>
  57. <td>
  58. <input type="text" name="txt_wysylka_kod_pocztowy" style="width: 60px;"/>
  59. <input type="text" name="txt_wysylka_miejscowosc" />
  60. </td>
  61. </tr>
  62.  
  63. <tr>
  64. <th>Województwo:</th>
  65. <td>
  66. <select name="txt_wysylka_wojewodztwo">
  67. <option>Województwo 1</option>
  68. <option>Województwo 2</option>
  69. </select>
  70. </td>
  71. </tr>
  72. <tr>
  73. <th>Telefon stacjonarny:</th>
  74. <td>
  75. <input type="text" name="txt_wysylka_telefon" />
  76. </td>
  77. </tr>
  78. <tr>
  79. <th>Telefon komórkowy:</th>
  80. <td>
  81. <input type="text" name="txt_wysylka_telefon_kom" />
  82. </td>
  83. </tr>
  84. </table>
  85.  
  86. <p class="naglowek" style="margin-top: 40px;">
  87. DOKUMENT SPRZEDAŻY
  88. </p>
  89.  
  90. <p style=" width: 750px; margin: auto; margin-top: 20px; margin-bottom: 80px;">
  91. <span style="float: left; margin-left: 200px;">
  92. Paragon<input type="radio" name="radio_dokument" id="radio_paragon" onclick="hide_faktura(this.id);" />
  93. </span>
  94. <span style="float: right; margin-right: 200px;">
  95. Faktura<input type="radio" name="radio_dokument" id="radio_faktura" onclick="hide_faktura(this.id);" />
  96. </span>
  97. </p>
  98.  
  99.  
  100. <p class="naglowek" id="naglowek_faktura" style="display:none;">
  101. DANE DO FAKTURY
  102. </p>
  103.  
  104. <table class="table_form" id="dane_faktura" style="display: none; margin-bottom: 30px;">
  105. <tr>
  106. <th>NIP:</th>
  107. <td>
  108. <input type="text" name="txt_nip" maxlength="15" />
  109. </td>
  110. </tr>
  111. <tr>
  112. <th>Imię i nazwisko:</th>
  113. <td>
  114. <input type="text" name="txt_wysylka_imie" /> <input type="text" name="txt_wysylka_nazwisko" />
  115. </td>
  116. </tr>
  117.  
  118. <tr>
  119. <th>Ulica, dom, lokal:</th>
  120. <td>
  121. <input type="text" name="txt_wysylka_ulica" />
  122. <input type="text" name="txt_wysylka_nr_domu" style="width: 30px;"/> /
  123. <input type="text" name="txt_wysylka_nr_lokalu" style="width: 30px;" />
  124. </td>
  125. </tr>
  126.  
  127. <tr>
  128. <th>Kod pocztowy, miejscowość:</th>
  129. <td>
  130. <input type="text" name="txt_wysylka_kod_pocztowy" style="width: 60px;"/>
  131. <input type="text" name="txt_wysylka_miejscowosc" />
  132. </td>
  133. </tr>
  134.  
  135. <tr>
  136. <th>Województwo:</th>
  137. <td>
  138. <select name="txt_wysylka_wojewodztwo">
  139. <option value="dolnoslaskie">Dolnośląskie</option>
  140. <option value="kujawsko-pomorskie">Kujawsko-pomorskie</option>
  141. <option value="lubelskie">Lubelskie</option>
  142. <option value="lubuskie">Lubuskie</option>
  143. <option value="lodzkie">Łódzkie</option>
  144. <option value="malopolskie">Małopolskie</option>
  145. <option value="mazowieckie">Mazowieckie</option>
  146. <option value="opolskie">Opolskie</option>
  147. <option value="podkarpackie">Podkarpackie</option>
  148. <option value="podlaskie">Podlaskie</option>
  149. <option value="pomorskie">Pomorskie</option>
  150. <option value="slaskie">Śląskie</option>
  151. <option value="swietokrzyskie">Świętokrzyskie</option>
  152. <option value="warminsko-mazurskie">Warmińsko-mazurskie</option>
  153. <option value="wielkopolskie">Wielkopolskie</option>
  154. <option value="zachodniopomorskie">Zachodniopomorskie</option>
  155. </select>
  156. </td>
  157. </tr>
  158. </table>
  159.  
  160. <p style="margin-bottom: 30px;">
  161. <input type="submit" name="btn_reset" value="Reset" />
  162. <input type="submit" name="btn_zamow" value="Złóż zamówienie" />
  163. </p>
  164.  
  165. </form>



i JS

  1. <script type="text/javascript">
  2.  
  3. function hide_platnosc(element)
  4. {
  5. document.getElementById('txt_info_przelew').style.display = "none";
  6. document.getElementById('txt_info_przesylka').style.display = "none";
  7. document.getElementById('txt_info_odbior_osobisty').style.display = "none";
  8. document.getElementById('naglowek_wysylka').style.display = "none";
  9. document.getElementById('dane_wysylka').style.display = "none";
  10.  
  11. if(document.getElementById('radio_przelew').checked) {
  12. document.getElementById('txt_info_przelew').style.display = "block";
  13. document.getElementById('naglowek_wysylka').style.display = "block";
  14. document.getElementById('dane_wysylka').style.display = "block";
  15. }
  16.  
  17. if(document.getElementById('radio_pobranie').checked) {
  18. document.getElementById('txt_info_przesylka').style.display = "block";
  19. document.getElementById('naglowek_wysylka').style.display = "block";
  20. document.getElementById('dane_wysylka').style.display = "block";
  21. }
  22.  
  23. if(document.getElementById('radio_odbior_osobisty').checked) { document.getElementById('txt_info_odbior_osobisty').style.display = "block"; }
  24. }
  25.  
  26.  
  27. function show_selected(element)
  28. {
  29. if(document.getElementById('radio_przelew').checked) {
  30. document.getElementById('txt_info_przelew').style.display = "block";
  31. document.getElementById('naglowek_wysylka').style.display = "block";
  32. document.getElementById('dane_wysylka').style.display = "block";
  33. }
  34.  
  35. if(document.getElementById('radio_pobranie').checked) {
  36. document.getElementById('txt_info_przesylka').style.display = "block";
  37. document.getElementById('naglowek_wysylka').style.display = "block";
  38. document.getElementById('dane_wysylka').style.display = "block";
  39. }
  40.  
  41. if(document.getElementById('radio_odbior_osobisty').checked) { document.getElementById('txt_info_odbior_osobisty').style.display = "block"; }
  42. }
  43.  
  44.  
  45. function hide_faktura(element)
  46. {
  47. document.getElementById('naglowek_faktura').style.display = "none";
  48. document.getElementById('dane_faktura').style.display = "none";
  49.  
  50. if(document.getElementById('radio_faktura').checked)
  51. {
  52. document.getElementById('naglowek_faktura').style.display = "block";
  53. document.getElementById('dane_faktura').style.display = "block";
  54. }
  55. }
  56.  
  57. </script>
nospor
fifi prosił Cię o var_dump($_POST); a ty piszesz ze to zwraca ci string(0) ? Coś kręcisz, szczególnie, że wcześniej pisałeś, że inne pole się przesyła.
Podaj więc co dokładnie zwraca
var_dump($_POST);
Jeśli zaś
var_dump($_POST['txt_wysylka_nazwisko']);
zwraca ci string(0) to poprostu tego pola w formularzu nie wypełniasz
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.