![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
Witam:
Kod <div id="abc"></div> <script type="text/javascript"> function procent() { var czas = <? print time(); ?>; document.getElementById("abc").innerHTML= czas; setTimeout("procent();", 1000); } procent(); </script> I wszystko działa, ale jest problem, nie wiem czemu ale za każdym odświeżeniem time(); się nie zmienia, po mimo tego, że skrypt całkowicie się odświeża (funkcja procent() ). Ktoś wie? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
PHP jest językiem wykonującym się po stronie serwera, a nie przeglądarki. Skoro chcesz użyć JavaScript to użyj też jego funkcji do wyświetlania czasu! Ten post edytował nexis 13.10.2007, 10:00:50 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 7.01.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem co chcesz uzyskać?
Wykonując funkcję [js] procent() przeładowujesz zawartość <div id="abc"> W funkcji procent() zmienna czas jest raz zainicjowana wartością wygenerowaną na stałe przez php. funkcją setTimeout() co 1 sekundę wywołujesz znowu funkcję procent, która w diva wstawia tą samą wartość. Spróbuj może takiego rozwiązania, ono pokaże Ci zasadę działania: |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
I tak nie działa, dlaczego - nie wiem. Problem polega na tym, że jeżeli mam var czas = <? print time(); ?>; pod tym function { } to powinno mi pobierać za każdym razem nowy time(); Jak mam teraz to i tak nie działa, odwołajmy się do mojego przykładu, pierwszego. Dlaczego nie działa, jeżeli mam w function albo przed? o co tutaj dokładnie chodzi
![]() --- Nexis - a mam pytanko, czy javascript ma coś o takiej samej wartości jak php ma time(); ![]() Ten post edytował ApC 13.10.2007, 10:40:25 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 17 Dołączył: 9.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie nie, to nie tak działa.
Całe PHP wykonuje sie na serwerze, po czym zawartosc tej juz "obrobionej" przez PHP strony jest wysyłana do użytkownika. PHP juz wtedy "nie obchodzi" co sie dalej z tą stroną dzieje, i każde dalsze ingerowanie w strukture strony to już musi być technika działająca po stronie przeglądarki(do łączenia przeglądarkiz serwerem mozna zastosowac np. AJAX, ale to juz wyższa szkoła jazdy). Dla tego wlasnie mozna jednorazowo wrzucić zmienne PHP do kodu js, ktory zostanie wysłany do przeglądarki, a nie można np. co sekunde wykonywać jakiejś funkcji php. przykładowo :
Przegladarka zobaczy jako : Ten post edytował maziak 13.10.2007, 10:42:44 |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 0 Dołączył: 22.09.2007 Ostrzeżenie: (20%) ![]() ![]() |
Nie nie, to nie tak działa. Całe PHP wykonuje sie na serwerze, po czym zawartosc tej juz "obrobionej" przez PHP strony jest wysyłana do użytkownika. PHP juz wtedy "nie obchodzi" co sie dalej z tą stroną dzieje, i każde dalsze ingerowanie w strukture strony to już musi być technika działająca po stronie przeglądarki(do łączenia przeglądarkiz serwerem mozna zastosowac np. AJAX, ale to juz wyższa szkoła jazdy). Dla tego wlasnie mozna jednorazowo wrzucić zmienne PHP do kodu js, ktory zostanie wysłany do przeglądarki, a nie można np. co sekunde wykonywać jakiejś funkcji php. przykładowo :
Przegladarka zobaczy jako : Całkowicie to rozumiem, ale co mi dały te twoje przykłady? Przecież w pierwszym poście napisałem: Kod var czas = <? print time(); ?>; Dużo mi nie pomogłeś... Wie ktoś jak zrobić, aby mi pobierało aktualny time() co 1 s w skrypcie js? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował nexis 13.10.2007, 10:46:51 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 17 Dołączył: 9.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie przeczytales za bardzo tego co napisałem, wiedział byś gdzie leżał błąd.
Twój kod : Czyli co sekunde powtarzałeś funkcje, przypisujac zawsze ta sama wartosc do zmiennej "czas"(jednorazowo wygenerowaną przez PHP). Najlepiej to skorzystaj z tego, co napisał nexis, a jezeli nie kończysz pisania stron na tym przykładzie to zdecydowanie polecam zrozumienie zasady działania php względem js, bez tego ani rusz. Pozdrawiam. PS. lekko zedytowane to co napisał pjozwiak Powinno działać. ![]() Ten post edytował maziak 13.10.2007, 11:08:16 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz jednak pobierać czas z serwera użyj AJAX!
js/advajax.js js/actions.js
index.html time.php
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:57 |