Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]formularz - pola zależne
Forum PHP.pl > Forum > Przedszkole
piq
Witam.

mam nastepujący problem z którym nie moge sobie poradzić:
Chce zrobic formularz tylko tak w którym jedno pole (lista rozwijana) jest zalezne od drugiego (lista rozwijana).
tzn jęzeli na jednej liście uzytkownik ma np do wyboru A,B,C i wybierze np B na drugiel liście do wyboru bedzie miał opcje B1,B2,B3 (przy wyborze C na tej samej liście będa opcje C1,C2,C3 )

Mam nadzieje ze ktos zrozumiał o co mi chodzi smile.gif
prosze o pomoc
MateuszS
kiedys cos takiego pisalem, na szczescie jeszcze to mam. Musisz sobie przerobic

  1. <script LANGUAGE="JavaScript" TYPE="text/javascript">
  2.  
  3. function Type(id, type){
  4.  
  5. this.id = id;
  6.  
  7. this.type = type;
  8.  
  9. }
  10.  
  11.  
  12.  
  13. function Style(id, id_type, style){
  14.  
  15. this.id = id;
  16.  
  17. this.id_type = id_type;
  18.  
  19. this.style = style;
  20.  
  21. }
  22.  
  23.  
  24. /* ################### DANE DO EDYCJI ############## */
  25.  
  26. TypeArray = new Array(
  27.  
  28. new Type(1, "Dolnośląskie"),
  29.  
  30. new Type(2, "Wielkopolskie")
  31.  
  32.  
  33.  
  34. );
  35.  
  36.  
  37.  
  38. StyleArray = new Array(
  39.  
  40. new Style(1, 1, "Szkoła_1"), // do Dolnośląskiego
  41.  
  42. new Style(2, 1, "Szkoła_2"),
  43.  
  44.  
  45. new Style(3, 2, "Szkoła_3"), // Do Wielkopolskiego
  46.  
  47. new Style(4, 2, "Szkoła_4")
  48.  
  49. );
  50.  
  51.  
  52. /* ############### KONIEC DANYCH DO EDYCJI ############### */
  53.  
  54.  
  55. function init(sel_type, sel_style){
  56.  
  57.  
  58.  
  59. document.product.id_type.options[0] = new Option("[ Województwo ]");
  60.  
  61. document.product.id_style.options[0] = new Option("[ Szkoła ]");
  62.  
  63. for(i = 1; i <= TypeArray.length; i++){
  64.  
  65. document.product.id_type.options[i] = new Option(TypeArray[i-1].type, TypeArray[i-1].id);
  66.  
  67. if(TypeArray[i-1].id == sel_type)
  68.  
  69. document.product.id_type.options[i].selected = true;
  70.  
  71. }
  72.  
  73. OnChange(sel_style);
  74.  
  75.  
  76.  
  77. }
  78.  
  79.  
  80.  
  81. function OnChange(sel_style){
  82.  
  83.  
  84.  
  85. sel_type_index = document.product.id_type.selectedIndex;
  86.  
  87. sel_type_value = parseInt(document.product.id_type[sel_type_index].value);
  88.  
  89.  
  90.  
  91. for(i = document.product.id_style.length - 1; i > 0; i--)
  92.  
  93. document.product.id_style.options[i] = null;
  94.  
  95.  
  96.  
  97. j=1;
  98.  
  99. for(i = 1; i <= StyleArray.length; i++){
  100.  
  101. if(StyleArray[i-1].id_type == sel_type_value){
  102.  
  103. document.product.id_style.options[j] = new Option(StyleArray[i-1].style, StyleArray[i-1].id);
  104.  
  105. if(StyleArray[i-1].id == sel_style)
  106. {
  107. document.product.id_style.options[j].selected = true;
  108.  
  109. }
  110. j++;
  111.  
  112. }
  113.  
  114.  
  115. }
  116.  
  117. }
  118.  
  119. //-->
  120.  


  1. <select name="id_type" size="1" style="width: 150px;" onChange="OnChange()"></select>
  2.  
  3. <select name="id_style" size="1" style="width: 350px;"></select>
  4.  
  5. <input type="submit" value="Głosuj" name="glosuj">
  6.  
  7.  
  8. <script LANGUAGE="JavaScript" TYPE="text/javascript">
  9. init();
  10.  
piq
dzięki za odpowiedz.

tylko nie bardzo mi te skrypt działa (może po prostu nie potrafie go zastosować-nie znam sie po prostu na js)
jakbyś mi podpowiedział jak prawidłowo zastosowac ten skrypt bylbym wdzieczny.
jak mam go podpiac pod konkretne okienka?
rozumiem gdzie mam wpsias swoje dane ale czy cos jeszcze trzeba zmienić?
z góry wielkie dzieki.
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.