Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Jak niepobierać danych z ukrytych fragmentów formularza
Forum PHP.pl > Forum > Przedszkole
Darekxp
Witam!

Mam w jednym formularzu po kilka takich samych pól o nazwie np po 3 razy: type1, type2, type3. Wybieram kategorię główną (za pomocą select i jQuery), następnie rozwijają się dopowiednie pola dla wybranej kategorii, które wcześniej były ukryte.

Jak zrobić, żeby ukryte dane z formularza za pomocą display: none; faktycznie nie były widoczne dla skryptu php przetwarzającego dane? Bo obecnie skrypt pobiera wartości z ostatnich pól (nieważne czy są wybrane czy są wciąż ukryte). A chciałbym, aby wartości w ukrytych polach faktycznie były ukryte, bo tak nadpisują dane z wybranych pól, które są wyżej wybierane.

  1. <tr>
  2. <td class="formTableColumnLeft">
  3. <p>Kategoria: <sup class="colorRed">*</sup></p>
  4. </td>
  5. <td class="formTableColumnRight">
  6. <p>
  7. <select id="category" name="category">
  8. <option value="">Wybierz kategorię:</option>
  9. {foreach item=item from=$category}
  10. <option id="CATEGORY-{$item.id}" value="{$item.id}">{$item.title}</option>
  11. {/foreach}
  12. </select>
  13. </p>
  14. </td>
  15. </tr>
  16. <tbody id="WHISKY" class="displayNone">
  17. <tr>
  18. <td class="formTableColumnLeft">
  19. <p>Kraj: &nbsp;</p>
  20. </td>
  21. <td class="formTableColumnRight">
  22. <p>
  23. <select id="country" name="country">
  24. <option value="">Brak danych</option>
  25. {foreach item=item from=$country}
  26. <option value="{$item.id}">{$item.title}</option>
  27. {/foreach}
  28. </select>
  29. </p>
  30. </td>
  31. </tr>
  32. <tr>
  33. <td class="formTableColumnLeft">
  34. <p>Typ 1: &nbsp;</p>
  35. </td>
  36. <td class="formTableColumnRight">
  37. <p>
  38. <select id="type1" name="type1">
  39. <option value="">Brak danych</option>
  40. {foreach item=item from=$productCategoryWhisky}
  41. <option value="{$item.id}">{$item.title}</option>
  42. {/foreach}
  43. </select>
  44. </p>
  45. </td>
  46. </tr>
  47. <tr>
  48. <td class="formTableColumnLeft">
  49. <p>Typ 2: &nbsp;</p>
  50. </td>
  51. <td class="formTableColumnRight">
  52. <p>
  53. <select id="type2" name="type2">
  54. <option value="">Brak danych</option>
  55. {foreach item=item from=$productCategoryWhisky}
  56. <option value="{$item.id}">{$item.title}</option>
  57. {/foreach}
  58. </select>
  59. </p>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td class="formTableColumnLeft">
  64. <p>Typ 3: &nbsp;</p>
  65. </td>
  66. <td class="formTableColumnRight">
  67. <p>
  68. <select id="type3" name="type3">
  69. <option value="">Brak danych</option>
  70. {foreach item=item from=$productCategoryWhisky}
  71. <option value="{$item.id}">{$item.title}</option>
  72. {/foreach}
  73. </select>
  74. </p>
  75. </td>
  76. </tr>
  77. </tbody>
  78. <tbody id="WINE" class="displayNone">
  79. <tr>
  80. <td class="formTableColumnLeft">
  81. <p>Kraj: &nbsp;</p>
  82. </td>
  83. <td class="formTableColumnRight">
  84. <p>
  85. <select id="country" name="country">
  86. <option value="">Brak danych</option>
  87. {foreach item=item from=$country}
  88. <option value="{$item.id}">{$item.title}</option>
  89. {/foreach}
  90. </select>
  91. </p>
  92. </td>
  93. </tr>
  94. <tr>
  95. <td class="formTableColumnLeft">
  96. <p>Kolor: &nbsp;</p>
  97. </td>
  98. <td class="formTableColumnRight">
  99. <p>
  100. <select id="type1" name="type1">
  101. <option value="">Brak danych</option>
  102. {foreach item=item from=$productCategoryWineColor}
  103. <option value="{$item.id}">{$item.title}</option>
  104. {/foreach}
  105. </select>
  106. </p>
  107. </td>
  108. </tr>
  109. <tr>
  110. <td class="formTableColumnLeft">
  111. <p>Typ: &nbsp;</p>
  112. </td>
  113. <td class="formTableColumnRight">
  114. <p>
  115. <select id="type2" name="type2">
  116. <option value="">Brak danych</option>
  117. {foreach item=item from=$productCategoryWineType}
  118. <option value="{$item.id}">{$item.title}</option>
  119. {/foreach}
  120. </select>
  121. </p>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td class="formTableColumnLeft">
  126. <p>Smak: &nbsp;</p>
  127. </td>
  128. <td class="formTableColumnRight">
  129. <p>
  130. <select id="type3" name="type3">
  131. <option value="">Brak danych</option>
  132. {foreach item=item from=$productCategoryWineTaste}
  133. <option value="{$item.id}">{$item.title}</option>
  134. {/foreach}
  135. </select>
  136. </p>
  137. </td>
  138. </tr>
  139. </tbody>

timon27
"Mam w jednym formularzu po kilka takich samych pól"

To zmień im nazwy.
Darekxp
O to chodzi, że wolałbym ich nie zmieniać tylko operować na tych samych nazwach przydzielanych dynamicznie tongue.gif
Mackos
Hmm... no jeśli chcesz dodawać jakieś wartości wielokrotne, które mają mieć taki sam atrybut name to zrób z nazwy tablicę np. "item[]"
  1. <input type="text" name="item[]" >

Dzięki czemu w tablicy $_POST powstanie kolejna tablica item i w niej kolejno wszystkie wartości.
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.