![]() |
![]() ![]() |
![]() |
-mantis- |
![]() ![]()
Post
#1
|
Goście ![]() |
Witam. Mówię z góry że to są moje początki z php i ograniczam się raczej do przeróbek skryptów i dostosowaniem niż wymyślaniem od podstaw. Oto problem.
Kiedyś miałem taki skrypt w JavaScript Kod <script LANGUAGE="JavaScript"> function selecturl(s) { var gourl = s.options[s.selectedIndex].value; window.ramka.location.href = gourl; } </SCRIPT> <iframe src="pogoda/tor_25_02_2006/tor.php" frameborder="0" width="420" height="320" scrolling="no" name="ramka"></iframe> <FORM><B>Archiwalne stany toru.</B><BR><BR> <SELECT NAME="urljump" OnChange="selecturl(this)"> <OPTION> Wybierz datę </OPTION> <OPTION VALUE="pogoda/tor_25_02_2006/tor.php"> 25.02.2006 </OPTION> <OPTION VALUE="pogoda/tor_2-3_04_2005/tor.php"> 2-3.04.2005 </OPTION> </SELECT> </FORM> Skrypt ładował do IFRAME stronkę którą była wybrana z listy rozwijanej. Teraz postanowiłem to samo zrobić z php ale żeby ładował includem więc przerobiłem pewien skrypt i zrobiłem coś takiego.
Wszystko działa OK ale jest jedno ale. Muszę naciskać przycisk. Czy jest możliwość wysłania danych bez przycisku tak jak w pierwszym skrypcie? Poprostu zaznaczam i po kliknięci na liście już jest. Czy można to uprościć? Sporo tych Case'ów a czym galerii będzie więcej tym więcej ich będzie (pierwczy pusty dodałem żeby była jakaś wartość początkowa i od razu żeby się coś ładowało domyślnie) P.S. A tak na marginesie jak ktoś biegły w CSSie to czy można w takim formularzu zmienić wygląd listy? Chodzi mi konkretnie o wygląd rozwijanej listy i strzałeczkę która służy do tego (kolortyka XPkowa mi się gryzie ze stronką). Bo same pozycje to wiem i przycisk też się da (dodając styl w input lub opyion). Niestety jesli dodam w select jakiś styl to się nic nie zmienia. Będę wdzęczny za odpowiedź Normalnie jestem zachwycony php a includ'y mi rozwiąują wiele rzeczy (np jeden plik menu dołączany do każdej podstrony, podobnie nagłowek czy stopka ). A kiedyś był tylko HTML+CSS i skrypty. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
wlasnie do tego automatycznego przesylania sluzyl kod JavaScript, ktory usunales. aczkolwiek sadze, ze wystarczy wstawic onchange="this.submit;".
a co do pozbywania sie case'ow i switcha, to coz, wystarczy popatrzec na to i od razu widac, takze jesli nie potrafisz zauwazyc prostych zaleznosci, to niestety nie zadobrze bedziesz sobie radzil, a "przerabianie, zamiast tworzenia", to "plagiat, zamiast programowania", wiec lepiej po prostu zacznij sie zastanawiac nad tym, co robisz, zamiast bezmyslnie kopiowac kod z jednego miejsca na drugie. podpowiem, ze nazwe dolaczanego pliku mozna zapisac po porstu jako:
a wiec nie potrzeba zadnego switcha, ale musisz wtedy pamietac o bezpieczenstwie (przesylanie wartosci, ktorych nie wyswietlasz normalnie w formularzu). Ten post edytował wrzasq 20.03.2006, 16:20:12 -------------------- Wrzasq.pl
Tworzenie stron i aplikacji internetowych. Chillout Development - tworzenie stron i aplikacji internetowych. |
|
|
-Guest- |
![]()
Post
#3
|
Goście ![]() |
Cytat wlasnie do tego automatycznego przesylania sluzyl kod JavaScript, ktory usunales. Usunąłem bo wrzucał w ramkę a nie chcę ramek. Cytat aczkolwiek sadze, ze wystarczy wstawic onchange="this.submit;". Nie działa Cytat wystarczy popatrzec na to i od razu widac, takze jesli nie potrafisz zauwazyc prostych zaleznosci, to niestety nie zadobrze bedziesz sobie radzil, Gdybym widział to bym nie pytał Cytat "przerabianie, zamiast tworzenia", Tak się człowiek uczy użytecznych rzeczy, poza tym php jest podobny do C++ którego MUSIAŁEM się uczyć kiedyś ale tego nie lubiłem (ma trochę inne zapisy) . Poza tym po co wyważać otwarte drzwi. Cytat "plagiat, zamiast programowania", Plagiat jest gdy przepisujesz kropka w kropkę a nie gdy coś przerabiasz. Jest to już coś nowego. Cytat zacznij sie zastanawiac nad tym, co robisz, zamiast bezmyslnie kopiowac kod z jednego miejsca na drugie. Myślałem ale jeśli czegoś się nie lubi to choćby się myślało 1000 dni to się nie wymyśli. Niestety nie lubię programowania (jakby tak bylo byłbym programistą) wolę design czyli grafika + html. php ułatwia sprawę i niektórych rzeczy nie da się inaczej obejść. Może kiedyś polubię programowanie ale nienawidzę jak błąd tkwi 30 lini wyżej i nie wiadomo gdzie bo i tak coś nie działa. W grafice i HTML jak się coś skopie to od razu widać że coś krzywo czy się nie wyświetla itp. No ale ok mniejsza z tym DZIKI WIELKIE za to spojrzenie, nie wpadłbym że można wykożystać konkatenację (choć kiedyś używałem tego do innych skryptów z hasłem czy mailem.) Jednak skrypt ma wadę bo nie reaguje na wartość domyślną. Ale wymyśliłem to ![]()
Po czym stwierdziłem że uproszczę jeszcze i ostatecznie mam to:
Jak widzisz myślę choć nie wiem czy wszystko jest poprawnie ale działa. Cytat ale musisz wtedy pamietac o bezpieczenstwie (przesylanie wartosci, ktorych nie wyswietlasz normalnie w formularzu). Tak wiem oryginalnie w skrypcie było POST ale zmieniłem na GET bo wtedy widać w adresie przesyłane zmienne a więc można zapisać stronę w ulubionych z prametrami (np link do konkretnej galerii) P.S. Dzięki za szybką odpowiedź i czkem na pomysły z przyciskiem. (Chyba że sam coś wymyślę bo pokombinuję.) |
|
|
-Mantis- |
![]()
Post
#4
|
Goście ![]() |
Sorka za błędy. Nie jestem dysortografem (chyba) ale poprostu zbyt szybko naciskam "Wyślij"
![]() |
|
|
-Mantis- |
![]()
Post
#5
|
Goście ![]() |
No to sobie sam poradziłem w sumie coś tam mi podpowiedziałeś ale nie do konca było OK. Metoda prób i błędów wstawiłem coś takiego
Kod <select OnChange="submit(this)"> i działa. Dzięki za naprowadzenie i chyba EOT jak dla mnie sprawa rozwiązana ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mała uwaga
W petli switch akcje domyslna lepiej wykonac przy pomocy default zamiast case ''
Co do przerabiania - to jesli autor nie ma nic przeciwko temu - to ja nie widzie w tym nic zdroznego. Inna rzecz, ze jak napiszesz cos sam od poczatku do konca to sie wiecej nauczysz. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.04.2025 - 07:41 |