Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Rozwiązany][JavaScript]Split nie jest funkcją?
Dapi
post 1.10.2012, 16:57:42
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


Witam.
Męczę się z bardzo niefajnym błędem JS. Mam funkcję:

Kod
function wykres(miejsce, tytul, slupki){
                
                slupki            = slupki.split(";");
                var szerokosc     = (550-5)/(slupki.length-1)-5;
                var najwiekszy     = 0;
                for(var n=0; n<(slupki.length-1); n++){
                    slupki2 = slupki[n].split('=%=');
                    if(parseFloat(slupki2[1]) > najwiekszy){
                        najwiekszy = parseFloat(slupki2[1]);
                    }
                }
    // coś tam dalej
}


zmienna slupki = "Poniedziałek=%=10;Sobota=%=2;Niedziela=%=26;"

Przy wykonywaniu funkcji dostaję błąd:
Cytat
TypeError: slupki.split is not a function
slupki2 = slupki.split('=%=');


Według moich ustaleń problemem jest pętla for, która wykonuje
Kod
slupki2 = slupki[n].split('=%=');

co przy pierwszym przerzuceniu pęli jest równe:
Kod
slupki2 = slupki[0].split('=%=');

a powinno (przynajmniej tak działa):
Kod
slupki2 = slupki['0'].split('=%=');

czyli z apostrofami. Tylko jak to zrobić?

Dodam, że na stronach pod innym adresem śmiga. Próbuję to zaimplementować do trzeciej i zaczyna się buntować.

Jak się z tym uporać?

Ten post edytował Dapi 2.10.2012, 16:14:39


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
melkorm
post 1.10.2012, 17:03:00
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


FireFox / Opera / Google Chrome - narzędzia deweloperskie

Konsola od javascriptu + console.log / console.debug i zobacz co masz pod tymi wartościami, a znajdziesz odpowiedź.


--------------------
Go to the top of the page
+Quote Post
kamil4u
post 1.10.2012, 17:06:37
Post #3





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Dobrze jest: http://jsfiddle.net/rhW2R/
Błąd masz gdzie indziej.


--------------------
Go to the top of the page
+Quote Post
pifarek
post 1.10.2012, 17:40:56
Post #4





Grupa: Zarejestrowani
Postów: 91
Pomógł: 15
Dołączył: 3.03.2009
Skąd: Włocławek

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


Zobacz czy te slupki sa typu String
[JAVASCRIPT] pobierz, plaintext
  1. alert(typeof slupki);
[JAVASCRIPT] pobierz, plaintext


--------------------
www.swiths.com
Go to the top of the page
+Quote Post
Dapi
post 1.10.2012, 18:47:25
Post #5





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


kamil4u, na stronie, którą linkujesz tak, ale niestety w przeglądarce niedziała, niewiedzieć czemu.
pifarek, pierwsze, przekazywane do funkcji string, drugie object


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
kamil4u
post 1.10.2012, 18:56:56
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Umieść kod na dowolnym serwerze, gdzie kod, który podałeś/lub ten co ja podlinkowałem nie działa. Wtedy będzie można będzie rozmawiać. I ew. napisz pod jaką przeglądarką/systemem.

Na 99% błąd masz gdzie indziej. Spróbuj jeszcze zrobić twarde odświeżenie, czyli nie wczytując kodu z cache - ctrl+F5


--------------------
Go to the top of the page
+Quote Post
Dapi
post 1.10.2012, 19:15:04
Post #7





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


http://dapi.net.pl/testowy/
Nie działa pod FF15.01, nie działa pod najnowszą chromką, reszty nie sprawdzałem.


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
kamil4u
post 1.10.2012, 19:23:30
Post #8





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Inny kod dajesz na forum inny tam i dziwisz się, że Ci nie działa. Musisz być uważniejszy. Ma być: slupki[n].split, a nie slupki.split.

Ten post edytował kamil4u 1.10.2012, 19:23:38


--------------------
Go to the top of the page
+Quote Post
Dapi
post 1.10.2012, 19:28:12
Post #9





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


W drugim slupki[n].split, w pierwszym slupki.split.
W drugim [n], bo to pętla, w pierwszym bez, bo slupki są jeszcze typu string.

EDIT:
teraz widzę, coś mi wycina "[n]" z kodu, staram się namierzyć co, bo najpewniej wina leży po stronie systemu szablonów.

Ten post edytował Dapi 1.10.2012, 19:34:32


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
Go to the top of the page
+Quote Post
kamil4u
post 1.10.2012, 19:35:04
Post #10





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Chyba się nie dogadamy....

http://dapi.net.pl/testowy/
Linia 26: slupki2 = slupki.split('=%='); -> ma być z [n]
Linia 37: slupki2 = slupki.split("=%="); -> ma być z [n]

Pomyśl dlaczego smile.gif, a jak nie wymyślisz to pytaj

--edit--
No właśnie - problem na pewno leży w tym, bo u mnie lokalnie działa smile.gif

Ten post edytował kamil4u 1.10.2012, 19:36:17


--------------------
Go to the top of the page
+Quote Post
Dapi
post 1.10.2012, 19:39:27
Post #11





Grupa: Zarejestrowani
Postów: 186
Pomógł: 13
Dołączył: 7.08.2009

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


Wiem już wszystko smile.gif

Problemy powodowało:
  1. $html = preg_replace('#\[([a-z0-9\-_]*?)\]#Ssie', '( ( isset($lang[\'\1\']) ) ? $lang[\'\1\'] : \'\' );', $html);


A ja pracowałem na pliku nie przyglądając się zbytnio temu, co dostaje przeglądarka i przeoczyłem.
Czasami rozwiązanie jest banalne, ale potrzeba spojrzenia kogoś z boku. W każdym bądź razie dzięki wink.gif


--------------------
www.dapi.net.pl - Wiele technologii, jedna pasja.
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: 8.07.2025 - 06:47