![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
Witam,
połączyć js + php to dla mnie męka pańska. Dlatego też zwracam się do Was z prośbą, abyście oblukali co w tym kodzie jest nie tak. Mnie już pomysłów brak. To jest ok kod Js:
zgodnie z definicją funkcji oczekuje jakiegoś obiektu, ale nie mam pojęcia co ma nim być ![]() Ten post edytował primo 10.02.2006, 20:09:59 -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze masz bałagan w kodzie, popraw sobie.
Po drugie używaj document.getElementById() zamiast document.all Po trzecie wywołujesz funkcje bez parametru, a w definicji funkcji on jest. -------------------- -------------
------ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
ten bałagan wtargnął tylko tutaj, coś się przeformatowało przy wrzucaniu do bazy.
document.getElementById() to mam zmienić w ciele funkcji jak rozumiem ![]() ![]() zielonego pojęcia nie mam co powinno być argumentem tej funkcji. -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 19.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
no, to chyba oczywiste. ID elementu :]
i używaj poprawnego bbcode Kod document.getElementByID("idmojegoelementu").costamcostam strasznie leniwy jesteś ;] -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Wygląda to tak jakby ta tabelka była generowana jakąś funkcją. Pokaż jej kod. To ona jest odpowiedzialna za wstawianie do zdarzenia onclick funkcji highlight i dehighlight i robi to źle.
W zdarzeniach onclick nie trzeba stosować konstrukcji:
wystarczy tyle:
Poza tym używaj odpowiedniego bbcode, do javascript CODE. Używając getElementById byłoby to tak: Kod function highlight(a) {
document.getElementById('list_l'+a).style.backgroundColor='#6a8c94'; document.getElementById('list_d'+a).style.backgroundColor='#5c8189'; document.getElementById('list_e'+a).style.backgroundColor='#6a8c94'; } -------------------- -------------
------ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
najmocniej przepraszam za swoje niedbalstwo. Poprawię się.
oto ten kod:
później jest już tylko html i ta odrobina kodu Js. Cytat Wygląda to tak jakby ta tabelka była generowana jakąś funkcją. Pokaż jej kod. To ona jest odpowiedzialna za wstawianie do zdarzenia onclick funkcji highlight i dehighlight i robi to źle. też tak myślę, ale nie mam pojęcia co na to poradzić, kompletnie nie kumam o co chodzi z tym ID elementu. Nigdy czegoś takiego nie nadawałem w kodzie. -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Ten kod nie generuje tabelki. Chyba sam to widzisz.
-------------------- -------------
------ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
wprowadziłem małe zmiany. Funkcja oczekuje argumentu, a więc dostarczam go: Kod onmouseover="highlight('.$a.');" onmouseout="dehighlight('.$a.');" id="list_d'.$a.'" onmouseover="highlight('.$a.');" onmouseout="dehighlight('.$a.');\" id="list_l'.$a.'" onmouseover="highlight('.$a.');" onmouseout="dehighlight('.$a.');" id="list_e'.$a.'" gdzie:
ale nadal występują błędy Js: 'document.getElementById[...]style' - jest pusty lub nie jest obiektem co to oznacza ![]() Ten post edytował primo 10.02.2006, 21:21:33 -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Wiesz co ten kod jest straszny
![]() Podam Ci kawałek kodu dla jednej kolumny, bo nie chce wszystkiego wklejać. Reszta analogicznie. Według mnie powinno być tak:
-------------------- -------------
------ |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
jak widzisz doszliśmy do takich samych wniosków w tym samym momencie, jednakże co z elementem id
![]() ![]() ![]() -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
1. Podaj cały błąd, który konsola js wyrzuca.
2. Zmień $a na this
-------------------- -------------
------ |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
oprócz tego:
'document.getElementById[...]style' - jest pusty lub nie jest obiektem zwraca tylko wiersz, znak i url - ale nic to nie mówi odnośnie skryptu. Po zmiania na this: onmouseout="dehighlight('.this.');" -- nie zwróciło nic. Za każdym razem sprawdzam kod wygenerowany i this nic nie zwraca, a $a zwraca wszędzie - odnośnie tego samego tytułu - cyfrę. Kolejny tytuł o 1 wyżej. -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
....
napisz tak jak podalem. this - w javascript wskazuje na aktualny element, a potraktowałeś to jako zmienną, w dodatku nieprawidłowo zapisaną, php. Jak nie pyknie to odezwij się do mnie na gg, bo tu czata nie będziemy robić. -------------------- -------------
------ |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
Reasumując.
Coś drgnęło i poszło do przodu. Wprawdzie nie zgodnie z podsuniętymi wskazówkami, ale bez nich ani rusz. Co teraz mamy: Kod function highlight(a){ document.getElementById(a).style.backgroundColor = '#FFFFCC'; document.getElementById(a).style.backgroundColor = '#FFCC66'; document.getElementById(a).style.backgroundColor = '#FFFFCC'; } function dehighlight(a){ document.getElementById(a).style.backgroundColor='#FFCC66'; document.getElementById(a).style.backgroundColor='#003399'; document.getElementById(a).style.backgroundColor='#FFCC66'; } to raz.
Według mnie już jest ok. Z tym, że nie mam pojęcia dlaczego zaczyna to działać tylko i wyłącznie wtedy, gdy zmienną w funkcji Js jest w nawiasie (id). Nie zadziałało, gdy dałem this. W takiej postaci działa, jednakże podświetla tylko jedną komórkę tabeli (1 z lewej się podświetla, jednakże nie wraca do koloru przed zmianą). Nie ma błędów Js teraz. Co zrobić, aby id="list_c'.$a.'" było przekazywane jako wartość argumentu do id ![]() -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
na JS to ja sie bardzo nie znam ale mam taką małą sugestie Kod document.getElementById(a).style.backgroundColor = '#FFFFCC'; document.getElementById(a).style.backgroundColor = '#FFCC66'; document.getElementById(a).style.backgroundColor = '#FFFFCC'; Ten kod nie ma za bardzo sesu wedlug mnie i na pewno nie bedzie dzialal tak jak trzeba gdyż zmienia on kolor jednego elementy trzy raz wiec zobaczyc bedziesz mogl tylko ostatnia zmiane. To takie moje przemyślenia na szybko, nie wiem czy jeszcze potrzebne bo dawno nikt nic tu nie pisal, ale.... I przy okazji mam pytanie tez wynikające z problemów połączenia php i JS. Do bazy danych zapisuje tekst z pola 'textarea' i jest wszystko pieknie. Po wyswietleniu tego na ekranie mam wszystko w jednej lini i tez jest dobrze ale problem jest gdy patrze do źrodła - tam mam każdą linie w nowej lini. Dodam że tą zmienna potrzebuje przekazać jako prarametr funkcji w JS i tu jest problem bo z tego co zauwazylem to w źrodle dzieli mi ta zmienna na linie i wywala oczywiście błąd. Czy jest możliwość sformatowania tego tekstu w taki sposob by był on wyswietlany w jednej lini nawet w zrodle? Ewentualnie wymyslilem ze można by zakodować tą zmienną funkcja base64_encode() i wtedy dobrze przekazuje do funkcji tylko ze nie moge jej w JS-ie odkodowac, nie wiem czy sa nawet jakieś funkcje kodujące w JS :-(. Jestem otwarty na wszelkie sugestie. Pozdrawiam, Alk -------------------- I amar prestar aen
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
zgadza się - skrypt zmienia kolor 3 razy - odbywa się to w 3 komórkach na raz i stąd 3-krotność.
Problem nadal aktualny. -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem ci taką małą pomoc, mam nadzieje że naprowadzi cie na 'trop' tego co potrzebujesz bo osobiście nie do końca rozumie co chcesz zrobić
![]() Kod <script language="JavaScript"> function hightlight(a, b) { document.getElementById(a).style.backgroundColor = b; } </script> //Zastosowanie w czystym HTML-u <table> <tr><td onMouseOver="hightlight('wiersz1', 'red');" onMouseOut="hightlight('wiersz1', 'blue');" id='wiersz1'>Tekst Pierwszy</td></tr> <tr><td onMouseOver="hightlight('wiersz2', 'red');" onMouseOut="hightlight('wiersz2', 'blue');" id='wiersz2'>Tekst Drugi</td></tr> </table> //Zastosowanie w php <? echo('<table>'); for($i=1; $i<5; $i++) { echo("<tr id='co".$i."' onMouseOver=\"hightlight('co".$i."', 'red');\" onMouseOut=\"hightlight('co".$i."', 'green');\" ><td > Costam co chcesz</td></tr>"); } echo('</table>'); ?> Zastosowalem tutaj jedną funkcje bo tak mi sie wydaje ze ladniej wyglada ![]() ![]() Mam nadzieje że troche pomogłem Pozdrawiam, Alk -------------------- I amar prestar aen
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
dzięki wielkie za podpowiedź, ale nie skorzystałem.
Udało się wg mojego planu. Oto rozwiązanie: Kod function highlight(a){ document.all['list_l'+a].style.backgroundColor='#FFFFCC'; document.all['list_d'+a].style.backgroundColor='#FFCC66'; document.all['list_e'+a].style.backgroundColor='#FFFFCC'; } function dehighlight(a){ document.all['list_l'+a].style.backgroundColor='#FFCC66'; document.all['list_d'+a].style.backgroundColor='#FF9900'; document.all['list_e'+a].style.backgroundColor='#FFCC66'; } jak widać wróciłem do starego sposobu. A oto co zmieniłem w kodzie php:
a oto efekt mych starań: EFEKT STARAŃ w ie działa, nad firefox pracuę. Ten post edytował primo 13.02.2006, 16:56:47 -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 23:27 |