![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Witam, nie wiem co się dzieje, ale przestał mi działać JavaScript a raczej jego elementy. Zobaczcie na prosty kod poniżej:
data.js
index.php
Wiadomo co to powinno robić. Po odświeżeniu strony w polu input o id="data" powinno się pojawić "asd". Z tym że JS odmawia posłuszeństwa. Konsola wyrzuca: Kod Uncaught TypeError: Cannot set property 'value' of null //Wiem że TERAZ javascript się bulwersuje gdy próbujemy dostać się do obiektu zanim jeszzce wczyta się reszta HTMLa (wrzucenie skryptu na koniec dokumentu naprawia ten problem) ale nigdy z tym nie było problemu. JS widział zawsze jakby cały plik niezależnie od tego gdzie <script> był includowany (zawsze robilem to w head) Pisałem takie rzeczy tysiące razy i zawsze śmigało. Może faktycznie czegoś zapomniałem, dawno nie pisałem niczego w JS ale chyba aż tak nie zardzewiałem. Pozdrawiam Ten post edytował MateuszS 8.06.2013, 16:04:38 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Przyczyna jest prosta - w momencie wykonywania skryptu, drzewo DOM nie jest jeszcze gotowe. Skrypt nie zna jeszcze elementu o ID = data. Załącz skrypt zaraz przed zamknięciem body i/lub zamknij go w zdarzeniu window.onload.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Tak doszedłem do tego, z tym że nigdy nie miałem tego problemu. Zawsze includowałem w head (po to z resztą jest nagłówek żeby tam takie rzeczy robić) i nie było problemu. Zrobię tak jak piszeszesz.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Skrypt odpala się zanim na stronie pojawi się ten input. Albo dodaj skrypt na końcu albo użyj jakiejś biblioteczki do dom ready (bądź sam to napisz)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Zawsze używałem jQuery. Tam chyba jest ten problem rozwiązany i dlatego teraz miałem problem gdy używam "czystego" JS
Ten post edytował MateuszS 8.06.2013, 16:08:51 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli używałeś dom.ready z jquery to tak
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 13:43 |