web.admin.pl
29.07.2006, 23:24:51
witam
mam pytanko. jak zrobic dynamiczny formularz... przykładem tego o co mi chodzi jest np. strona nvidia.com a dokładnie strona do pobierania driverów. są 3 okienka i kiedy wybierzemy w pierwszym okienku cos to dopiero w drugim pokazuje sie niejakie podmenu
http://www.nvidia.com/content/drivers/drivers.aspno to chodzi mi wlasnie o takie cos. i jeszcze jedno pytanko czy mozna to samo zrobic tyle ze za pomocą rozwijanych list? widzialem tez takie rozwiazania na stronach ale nie pamietam gdzie. wystarczy mi odpowiedz na 2 pytanie w stylu: "tak lub nie". bo z tym raczej powinienem sobie poradzic.
tak wiec jak by ktos mogl napisac jakis taki formularzyk jakis prosty przynajmniej z jednym podmenu z 2 przykładami to będe wdzięczny
pozdrawiam
webadminpl
Te okienka są napisane w JS (inna sprawa że dane do nich pewnie są generowane w asp), więc możesz sobie zobaczyć w źródle strony jak to działa. Generalnie chodzi o wypełnianie listy funkcjami JS przy wybraniu opcji z innego okienka.
Da się coś takiego zrobic na listach rozwijanych w ten sam sposób - tamte 'okienka' to nic innego jak pola select z ustawioną właściwością size > 1.
Gość_web.admin.pl_*
30.07.2006, 07:39:50
dzieki

w php tez da rade to zrobic
w nocy myslalem a teraz z rana zrobilem
dzieki za pomoc
pozdrowienia
web.admin.pl
kossa
30.07.2006, 11:12:01
Pewnie że da się zrobić w php tylko musisz przeładowywać stronę aby uzyskac dane w kolejnym polu select dlatego tak jak pisał KG- JavaScript jest konieczne. Za pomocą php przy pierwszym wejściu na stronę wyciągasz wszystkie dane z bazy i grupujesz je w odpowiednie warstwy a następnie przy pomocy JS po wyborze odpowiedniego selecta wyświetlasz w kolejnym odpowiednią dla niego warstwę i to bez przeładowywania strony i o to w tym chodzi :-)
Pozdrawiam,
Łukasz
Gość
30.07.2006, 14:18:40
A juz najladniej by to wygladalo w AJAXie, bo tym sposobem co pisze @kossa nie jest zbyt dobrze dzialac, jezeli dane z bazy musza byc wyciagane w zaleznosci od wyboru pola w pierwszym selecie, bo w JS nie jest tak latwo zrobic, zeby wyswietlal w poszczegolnych selectach dane dynamicznie pobierane z bazy, a wlasnie AJAX to umozliwia.
Zreszta na stronie nvidii skrypt w JS jest tak napisany, ze wszystko jest w nim na stale umieszczone, jakbysmy cos dodali do bazy, zeby pojawilo sie w selecie, to trzebaby tez modyfikowac skrypt w JS.
kossa
30.07.2006, 14:30:01
Nie zgadzam się z Tobą @Gość, JS można generować dynamicznie wykorzystując php, AJAX - ok - ale to jest nowa technologia i nie każdy jeszcze ją opanował, ja dop. w tej dziedzinie raczkuje dlatego nie polecałem jej jeszcze bo bym nie potrafił udzielić specjalistycznej odpowiedzi w tej dziedzinie choć warto ją poznać i stosować, a co do połączenia php i JS to jest to bardzo proste, JS jest generowany na podstawie danych z bazy danych przy wejściu na stronę i nie ma żadnego problemu aby tworzyć tego typu dynamiczne formularze i nie trzeba niczego recznie modyfikować po każdej zmianie w bazie, więc nie masz tu racji pisząc że trzaba by było modyfikować ręcznie skrypty, wystarczy je tylko na początku dobrze napisać :-) chwila zastanowienia a później system już wszystko robi za nas.
Łukasz
Gość
30.07.2006, 15:03:35
W kwestii dynamicznych formularzy chodzilo mi o cos takiego :
jakoze JS dziala po stronie przegladarki przed wyslaniem strony do uzytkownika trzeba wyciagnac z bazy danych wszystkie interesujace informacje i dopiero przeslac - w JS mozna co najwyzej zrobic, zeby te raz wyciagniete dane odpowiednio uszeregowac i wyswietlac w poszczegolnych selectach w zaleznosci od tego, co sie wybierze w poprzednim. Jednak trudnosc przychodzi wtedy gdy jest potrzeba wyciagnac kolejna porcje danych z bazy po wybraniu danych w selecie, zeby te nowe dany byly wyswietlone w kolejnym - tego JS nie zrobi, zostaje tylko przeladowanie strony albo AJAX.
PS> ja tez nie znam jeszcze AJAXa, ale ostatnio sporo o nim czytam, dlatego pisze
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.