![]() |
![]() ![]() |
![]() |
--malina-- |
![]()
Post
#1
|
Goście ![]() |
cześć. może ktośz Was mnie nakieruje na dobre tory.
Mam takie pliki: info1.htm info2.htm i jest ich 21. mam też listę rozwijaną ale chcę by wraz z wyborem z tej listy rozwijanej pojawiały się informacje includowane z tych plików. Czyli ktoś wybiera z listy INFO 1 i bez przeładowania pojawiają się informacje z pliku info1.htm może ktoś pomoże lub chociaż naprowadzi na coś... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To jest bardzo proste do osiągnięcia.
Robisz sobie listę rozwijaną na przykład tak:
Masz jakiś element, który będzie trzymał zawartość, na przykład: I w końcu, na przykład z użyciem jQuery, ładujesz zawartość pliku do elementu:
Ten post edytował SmokAnalog 8.06.2013, 11:14:33 |
|
|
--malina-- |
![]()
Post
#3
|
Goście ![]() |
zrobiłam tak:
Kod <html><head></head> <body> <select id="file"> <?php for($i = 1; $i <= 21; ++$i): ?> <?php $fileName = 'info' . $i . '.htm' ?> <option value="<?php echo htmlspecialchars($fileName) ?>"><?php echo htmlspecialchars($fileName) ?></option> <?php endfor ?> </select> <div id="content"></div> <script type="text/javascript" language="JavaScript"> $("#file").change(function() { $("#content").htm("Proszę czekać..."); $.get( $(this).val(), function(fileContent) { $("#content").htm(fileContent); }, "htm" ); }); </script> </body> </html> ale nic się nie dzieje. niby jest strzałka w której powinny się znaleźć "odnośniki" z tytułami, ale nic nie ma ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Korzystasz z jQuery, ale nie dołączyłaś go do kodu
![]() Musisz dodać tę linię zanim wykonujesz skrypty. Miałaś też kilka innych błędów, przeanalizuj poniższy kod i napisz mi czy działa, bo piszę z palucha:
|
|
|
--malina-- |
![]()
Post
#5
|
Goście ![]() |
![]() ja myślę że czegoś tu brakuje to znaczy że cały ten plik nie widzi plików info1.htm-info21.htm bo skąd ma wiedzieć gdzie i czy one są ? a są na 100% |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A są na pewno w tym samym folderze?
Nie musi wiedzieć gdzie i czy one są, bo to on wysyła zapytanie o te pliki. W moim przykładzie, funkcja $.get usiłuje łączyć się z plikiem o nazwie podanej jako wartość listy rozwijanej. A wartości listy rozwijanej to kolejno: info1.htm, info2.htm itd. Powinno działać. Upewnij się czy:
|
|
|
--malina-- |
![]()
Post
#7
|
Goście ![]() |
no tak, ja zamiast kod źródłowy zrobić jako php zrobiłam htm :|
już poprawiłam (działa ![]() a to są takie zwykłe narazie napisy na przykład "test wyboru nr3" |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A co się dzieje? Pojawia się napis Proszę czekać... czy nic się nie pojawia?
EDIT Zapomniałem poprawić jeden Twój błąd. Zamień tę linię:
Na tę:
A przy okazji korzystaj z konsoli, bo ona wyświetla informacje o błędach, dzięki czemu o wiele łatwiej je naprawiać bez zgadywania dlaczego nie działa. Ten post edytował SmokAnalog 8.06.2013, 13:07:40 |
|
|
--malina-- |
![]()
Post
#9
|
Goście ![]() |
chciałam by to pole wyboru było stale widoczne (i jest) ale pod nim żeby pozywały się napisy z aktualnie wybranego pliku na przykład jak wybiorę info3.htm to żeby się pod tym polem wyboru pojawił napis który jest w pliku info3.htm czyli "test wyboru nr3".
teraz mimo że wybieram jakieś info...htm to pod tym polem wyboru nie pojawiają się żadne napisy. nie ma też "proszę czekać" - widać że przeładowuje się ale poza tym nic się nie dzieje, że tak powiem "brak zawartości plików" |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Co mówi konsola?
|
|
|
--malina-- |
![]()
Post
#11
|
Goście ![]() |
hm. to nie konsola tylko komputer
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o konsolę błędów JavaScript. Poczytaj o tym.
Sprawdziłem skrypt i u mnie działa, więc coś robisz nie tak. |
|
|
--malina-- |
![]()
Post
#13
|
Goście ![]() |
z tego co czytam to ma się pojawić jakieś okienko popup - ja takiego nie mam.
mam firefox 21 i operę 12.15 - i tu i tu nic nie wyskakuje //wyszłam na idiotkę z tą kosolą, a wy pewnie macie niezły ubaw ![]() |
|
|
--malina-- |
![]()
Post
#14
|
Goście ![]() |
|
|
|
--malina-- |
![]()
Post
#15
|
Goście ![]() |
przepraszam, że post pod postem - ale już doszłam co jest nie tak.
otóż jak dam wcześniej htm to nie działa, a jak wcześniej dam html to wszystko jest w porządku. powiedzcie mi tylko dlaczego tak się dzieje (musiałam wszystkie pliki htm zmienić na html) |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
//wyszłam na idiotkę z tą kosolą, a wy pewnie macie niezły ubaw ![]() Nie przejmuj się, chwilę się pośmiałem DO Ciebie, a nie Z Ciebie ;)To było takie słodkie. Jak rzucisz okiem na moje poprzednie wpisy to zauważysz, że wspomniałem o tej zamianie .htm() na .html(). Śpieszę wyjaśnić: to nie ma nic wspólnego z nazwami Twoich plików. .html() to metoda z jQuery. Możesz spokojnie mieć pliki z rozszerzeniem .htm. Nazwę plików określasz w tej linii i mogą mieć dowolne rozszerzenie - ważne, żeby nazwy zgadzały się z tym wzorcem:
Natomiast funkcja .html() musi zostać jako .html(), bo to nie ma nic wspólnego z jakimikolwiek nazwami plików.
|
|
|
--malina-- |
![]()
Post
#17
|
Goście ![]() |
Smoku dziękuję bardzo za wyjaśnienie . ja jestem na etapie żłobka, ale takiego działu tu nie ma
![]() jeszcze jedna sprawa mnie dręczy-męczy. otóż jak tylko wejdę na tę testową stronę to nic się nie pokazuje - dopiero po wyborze z listy. chciałam dać selected do jednego z optionów tak by pokazywało od razu po wejściu na tą stronę (że tak powiem) defaultowy napis - czyli żeby pobierało defaultowo z pliku info1.html ale samo dodanie selected nie pomogło. czy da radę coś takiego? |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Można zrobić to elegancko z JavaScriptem, zamykając funkcjonalność w funkcji i odpalać ją zarówno przy zmianie stanu <select> oraz przy załadowaniu się strony, ale to póki co trochę zbyt skomplikowane. Możesz wczytać plik bezpośrednio, w ten sposób - zamiast:
Daj: W ogóle to można by pomyśleć o dopieszczenie tego tak, żeby lista nie pokazywała zawsze na sztywno plików info1.htm aż do info21.htm, ale na przykład wszystkie pliki z danego folderu. Wtedy mogłabyś sobie dodawać / usuwać / zmieniać nazwy wszystkiego w tym folderze, a lista zawsze pokazywałaby aktualne pliki. ![]() |
|
|
--malina-- |
![]()
Post
#19
|
Goście ![]() |
bardzo tu miło. założe chyba tu jednak konto (konto malina (imię) jest zajęte - będę musiala coś innego wymyśleć. Ale jakby co to w podpisie będzie "malina - ta od "konsoli" - i wszystko będzie jasne
![]() Smoku - o to chodziło właśnie :-* nie wszędzie jest tak że "zielonym" w jakimś temacie (dla niektórych może to błahostka, ale dla wielu jak i dla mnie to naprawdę DUŻO) się pomaga "ot tak". Smoku - jeszcze raz dziękuję bardzo ![]() pozdrawiam! najlepszego wszystkim Forumowiczom! |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Proszę bardzo i cieszę się, że mogłem pomóc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.05.2025 - 07:02 |