Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Budowanie strony funkcją include
Forum PHP.pl > Forum > Przedszkole
castagir
Witam

Mam problem z JS. FireBug pokazuje taki oto błąd:
  1. ReferenceError: $ is not defined
  2.  
  3.  
  4. $(document).ready(function(){


Podejrzewam, że źródłem problemu może być to, że moja strona jest budowana dynamicznie za pomocą PHP, który funkcją include dodaje nowe części strony z różnych plików.

Wygląda to u mnie tak:
  1. // Dodanie komponentów strony:
  2. include('./schematy/standard/sekcjaNaglowek.php'); // w tym komponencie znajduje się właśnie odniesienie do skryptu, który sprawia problem
  3. include('./schematy/standard/sekcjaGora.php');
  4. include('./schematy/standard/sekcjaStronaGlowna.php');
  5. include('./schematy/standard/sekcjaStopka.php');


sekcjaNaglowek.php:
  1. <?php
  2. // NAGŁÓWEK STRONY WYPEŁNIANY DYNAMICZNIE \\
  3.  
  4. // Zdefiniowanie strony i dostosowanie danych meta do wyniku
  5. // Dobór odpowiednich skryptów i styli
  6. if(IDENTYFIKATOR_STRONY == 'stronaGlowna') {
  7. $tytul = '<title>ENGO Strona Główna</title>';
  8. $skryptJS = '<script type="text/javascript" src="./skrypty_java/stronaGlowna.js"></script>';
  9. }
  10.  
  11.  
  12. // Wysłanie treści finalnej nagłówka - HEAD
  13. <!DOCTYPE HTML>
  14. <html>
  15. <head>
  16. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'
  17. .$tytul.'
  18. <link href="./style_css/standard/uklad.css" rel="stylesheet" type="text/css" />
  19. <link href="./style_css/standard/tresc.css" rel="stylesheet" type="text/css" />
  20. <script type="text/javascript" src="./skrypty_java/sekcjaGora.js"></script>
  21. <script type="text/javascript" src="./skrypty_java/sekcjaStopka.js"></script>'
  22. .$skryptJS.'
  23. </head>';
  24. ?>


Dodam jeszcze treść tego skryptu:
  1. // WCZYTANIE WSZYSTKICH FUNKCJI SEKCJI STRONY GŁÓWNEJ:
  2. $(document).ready(function(){
  3. przyciskZalogujSie();
  4. przyciskZarejestrujSie();
  5. });
  6.  
  7. // FUNKCJE:
  8. function przyciskZalogujSie(){
  9. $('#panelUzytkownika').on('click', 'input[name="zaloguj"]', function(){
  10. alert('Kliknąłeś zaloguj się');
  11. });
  12. }
  13. function przyciskZrejestrujSie(){
  14. $('#panelUzytkownika').on('click', 'input[name="rejestruj"]', function(){
  15. alert('Kliknąłeś zarejestruj się');
  16. });
  17. }


Moja teoria jest taka, że PHP dołączają ten pierwszy plik "sekcjaNaglowek.php" od razu wysyła do przeglądarki odwiedzającego, ta następnie ją od razu interpretuje i kończy swoją interpretację tylko na HEAD, a chwilę potem otrzymuje kolejne treści strony - czyli "sekcjaGora", "stronaGlowna" i "sekcjaStopka".
Stąd chyba pochodzi ten problem.

Pytanie tylko, czy dobrze myślę i jak można rozwiązać ten problem?
Lub
Może problem tkwi w czym innym.
nospor
Nigdzie nie widze, bys ladowal jQuery, wiec nic dziwnego ze $ ci nie dziala.... $ to jQuery

ps:
skrypty_java
prosze cie... js to nie java...
skrypty_js
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.