Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Błąd: missing ; before statement, przy zmiennej globalnej - o co chodzi?
onlyX
post 26.03.2007, 20:14:14
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


mam taką funkcję:
  1. function setBehaviour(){
  2. var global linki = document.getElementById('komentarze').getElementsByTagName('a'); // <--- bląd
  3. for(i=0; i < linki.length; i++){
  4. if (linki[i].className=='answer'){
  5. linki[i].onclick = function() {return userAnswer(linki[i]);}; // <--- tu mi to potrzebne
  6. }
  7. }
  8. }


i w zaznaczonej linijce debuger FF wyrzuca mi taki błąd:
  1. Błąd: missing ; before statement
  2. Plik źródłowy: file:///E:/PROJEKTY/css%20exp/jogger%20v.1.5/testy%20js.html
  3. Wiersz: 25, Kolumna: 12
  4. Kod źródłowy:
  5. var global linki = document.getElementById('komentarze').getElementsByTagName('a');


nie rozumiem jeszcze wszystkiego co JS do mnie mówi. Może mi ktoś wytłumaczyć co robię źle?

Ten post edytował onlyX 26.03.2007, 20:34:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
nospor
post 26.03.2007, 20:16:38
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a te "global linki" to nazwa zmiennej? Zmienne nie moga miec spacji. zamien na, np: globallinki

edit: a nie, widze, ze zmienna to "linki". Na grzyba dajesz global? js to nie php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
onlyX
post 26.03.2007, 20:31:00
Post #3





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


to co mam zrobić, żeby w linijce:
  1. linki[i].onclick = function() {return userAnswer(linki[i]);}; // <--- tu mi to potrzebne

nie wyrzucało mi undefined dla argumentu tej funkcji?
Go to the top of the page
+Quote Post
nospor
post 26.03.2007, 20:33:44
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wewnatrz nowej dynamicznej funkcji dla zdarzenia, ten numer nie przejdzie. zrob tak:
Kod
linki[i].onclick = function() {return userAnswer(this);};


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
onlyX
post 26.03.2007, 21:01:54
Post #5





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Właśnie taki problem, że jak biorę this, to ładuje tam adres dokumentu, a nie referencję do elementu. Tego już probowałem.

Co mam począć? smile.gif
Go to the top of the page
+Quote Post
nospor
post 27.03.2007, 08:31:59
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




dziwne, mi jakos dziala:
  1. <div id="komentarze">
  2. <a href="jakisurl" id="testowyA">aaaaa</a>
  3. </div>
  4.  
  5. <script language="javascript">
  6. function setBehaviour(){
  7. var linki = document.getElementById('komentarze').getElementsByTagName('a'); // <--- bląd
  8. for(i=0; i < linki.length; i++){
  9. linki[i].onclick = function() {alert(this.id);return false;}; // <--- tu mi to potrzebne
  10. }
  11. }
  12. setBehaviour();
  13. </body>

Po klikniecu w link wyswietli nam sie id tego <a>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
onlyX
post 27.03.2007, 14:46:12
Post #7





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Mało precyzyjnie sie wyraziłem.
Chodziło mi o to, że nie mogę tam dać this jako argument funkcji:
  1. linki[i].onclick = function() {
  2. return userAnswer(this);
  3. };

bo wtedy funkcja userAnswer pobiera adres dokumentu a nie referencję do elementu.
Nie wiem jak to rozwiązać.
Go to the top of the page
+Quote Post
nospor
post 27.03.2007, 14:48:21
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale ja ci pokazalem, ze dostajesz tam adres do elementu a nie dokumentu. Skad wiesz ze do dokumentu dostajesz referencje? Mi na kazdej przegladarce daje element a tobie dokument? No chyba nie smile.gif (ale moge sie mylic winksmiley.jpg )


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
onlyX
post 27.03.2007, 15:15:32
Post #9





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Ja podaję tam this, jako argument kolejnej funkcji, która tam wyrzuca go w alercie jako "file://E:/katalo/plik.html". W sposób w jaki ja to zapisałem, nie działa jak chcę.
Go to the top of the page
+Quote Post
nospor
post 27.03.2007, 15:20:20
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a w href tego A masz "file://E:/katalo/plik.html" ? Bo jesli wyswietlasz this dla A, to wlasnie on wyswietla hrefa, ale defacto jest to obiekt A. Nadaj mu jakies ID, i wyswietl this.id by sie upewnic czy ja mam racje czy ty smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
onlyX
post 27.03.2007, 15:49:35
Post #11





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Teraz uderzam z rozpędu w ścianę.
Ten wyjątek mnie wyprowadził w pole. Spodziewałem się standardowego: [HTML Object] czy coś, a tu mi hrefa wrzuca.

Głupio mi zapadam się pod ziemię...
... i dzięuję tongue.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 00:42