Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX] Formularz w zależności od wybranej opcji
Forum PHP.pl > Forum > Przedszkole
patryk9200
Cześć,
Poszukuję jakiegoś skryptu potrzebnego mi do formularza w którym miałbym listę rozwijalną i w zależności co bym wybrał pojawiła by się druga lista i na podstawie wybranej opcji z tej drugiej wyświetliło by mi resztę formularza. Jest taki problem, że do 3 kroku pola są generowane w PHP i myślałem, żeby to zrobić np. na zasadzie ukrywanych divów bądź jeśli by szło, żeby wyświetlało dany kod html ale tylko wybrany bo pola z ukrytych divów jeśli dobrze myślę też się wyślą.
Szukałem dość trochę w google ale nic interesującego nie znalazłem.
Może coś na zasadzie podmiany kodu albo coś...
skowron-line
Opcja z ukrytymi divami jest całkiem dobra nie jest To zbyt dużo pracy.
Będą Ci potrzebne następujące funkcję
zdarzenie onChange
instrukcje warunkowe switch lub if
No i metody dostępu do obiektów w drzewie DOM.

Jak będziesz miał problem pisz + podaj kod.
patryk9200
dobra zrobiłem coś takiego:
  1. echo '<head>
  2. <script type="text/javascript">
  3. function pokazUkryj(id)
  4. document.getElementById(id).style.display = (document.getElementById(id).style.display == "none") ? "block" : "none";
  5. </script>
  6. </head>
  7. <body>
  8. <form action="" method="post">
  9. Czynność:
  10. <select name="action">
  11. <option>Brak</option>
  12. <option value="Edit" onClick="pokazUkryj(\'hiddenSelectEdit\');">Edytuj</option>
  13. <option value="Add" onClick="pokazUkryj(\'hiddenSelectAdd\');">Dodaj</option>
  14. <option value="Delete" onClick="pokazUkryj(\'hiddenSelectDelete\');">Usuń</option>
  15. </select>
  16. <div style="display: none" id="hiddenSelectAdd">
  17. Edytuj:
  18. <select name="what">
  19. <option>Brak</option>
  20. <option value="Section" onClick="pokazUkryj(\'hiddenAddSection\');">Dział</option>
  21. <option value="Category" onClick="pokazUkryj(\'hiddenAddCategory\');">Kategorię</option>
  22. </select>
  23. </div>
  24.  
  25. <div style="display: none" id="hiddenSelectEdit">
  26. Edytuj:
  27. <select name="what">
  28. <option>Brak</option>
  29. <option value="Section" onClick="pokazUkryj(\'hiddenEditSection\');">Dział</option>
  30. <option value="Category" onClick="pokazUkryj(\'hiddenEditCategory\');">Kategorię</option>
  31. </select>
  32. </div>
  33. <div style="display: none" id="hiddenSelectDelete">
  34. Edytuj:
  35. <select name="what">
  36. <option>Brak</option>
  37. <option value="Section" onClick="pokazUkryj(\'hiddenDeleteSection\');">Dział</option>
  38. <option value="Category" onClick="pokazUkryj(\'hiddenDeleteCategory\');">Kategorię</option>
  39. </select>
  40. </div>
  41.  
  42. <div style="display: none" id="hiddenAddCategory">
  43. Wybierz dział</br>
  44. ';MysqlStart ();
  45. echo '<select name="wid" onchange="ajaxFunction()" id="mid" style="width: 170px;">
  46. <option value="">--Wybierz dział--</option>';
  47. $query = 'SELECT * FROM '.dbprefix.'sections WHERE page='.PageID.' AND type=0 ORDER BY id DESC';
  48. $result = mysql_query($query) or die(mysql_error());
  49. while($rek = mysql_fetch_array($result)){
  50. echo'<option value="'.$rek['id'].'">'.$rek['name'].'</option>';}
  51. echo"</select><br>";MysqlEnd();
  52. echo '<br>
  53. Wpisz nazwę kategorii<br>
  54. <input type="text" name="CategoryName">
  55. <input type="submit" value=">>> Dodaj <<<" style="width: 720px; hight: 50px;">
  56. </div>
  57.  
  58. <div style="display: none" id="hiddenDeleteCategory">
  59. Wybierz dział</br>
  60. ';MysqlStart ();
  61. echo '<select name="wid" onchange="ajaxFunction()" id="mid" style="width: 170px;">
  62. <option value="">--Wybierz dział--</option>';
  63. $query = 'SELECT * FROM '.dbprefix.'sections WHERE page='.PageID.' AND type=0 ORDER BY id DESC';
  64. $result = mysql_query($query) or die(mysql_error());
  65. while($rek = mysql_fetch_array($result)){
  66. echo'<option value="'.$rek['id'].'">'.$rek['name'].'</option>';}
  67. echo '</select><br>'; MysqlEnd();
  68. echo '<br><div id"ajaxDiv"></div>
  69. <input type="submit" value=">>> Usuń <<<" style="width: 720px; hight: 50px;"></div>
  70.  
  71. <div style="display: none" id="hiddenAddSection">
  72. Wpisz nazwę działu<br>
  73. <input type="text" name="name">
  74. <input type="submit" value=">>> Dodaj <<<" style="width: 720px; hight: 50px;">
  75. </div>
  76.  
  77. <div style="display: none" id="hiddenDeleteSection">
  78. Wybierz dział<br>';MysqlStart ();
  79. echo '<select name="wid" onchange="ajaxFunction()" id="mid" style="width: 170px;">
  80. <option value="">--Wybierz dział--</option>';
  81. $query = 'SELECT * FROM '.dbprefix.'sections WHERE page='.PageID.' AND type=0 ORDER BY id DESC';
  82. $result = mysql_query($query) or die(mysql_error());
  83. while($rek = mysql_fetch_array($result)){
  84. echo'<option value="'.$rek['id'].'">'.$rek['name'].'</option>';}
  85. echo"</select><br>";MysqlEnd();

jak zrobić, że jak chcę wybrać inny element nadrzędny to żeby elementy podrzędne się chowały?
tzn. gdy z jednej listy coś wybiorę a potem zmienię to żeby się to chowało?

można może stworzyć dodatkowy parametr np. jak mamy już id elementu do zrobić sobie np. pid i np. js na padsotawie tego by go chował?







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.