Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax i funkcja eval();
serek
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 1
Dołączył: 12.06.2011

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


Zrobiłem sobie wisielca, działa, super, ale postanowiłem go przerobić, by szło zmieniać hasła bez odświeżania strony. Użyłem Ajaxa, który jest wywoływany po naciśnięciu przycisku. Następnie jest wczytywany z oddzielnego pliku kod do nowego hasła. W tym pliku jest i php i js i html (IMG:style_emoticons/default/haha.gif) Jedynie nie wczytywany jest "panel kontrolny", który jest od samego początku. Jak chcę z niego wywołać funkcje z wczytanego pliku, to pisze, że taka funkcja nie istnieje. Czytałem, że jakoś funkcja eval() i zamiana nazw funkcji z tamtego pliku z function xxx(){} na zmienną np. xxx = funtion(){} jakoś może pomóc. Tylko próbuję i nie wychodzi. I jeszcze sprawa obiektów z html'a w tym pliku. Jak się do nich odwołać w tych funkcjach, by to działało?

Kod rozpoczynający funkcję w panelu kontrolnym:
Kod
<input type="button" ... onchange="wisielec();">


Ten post edytował serek 12.06.2011, 21:52:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
serek
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 1
Dołączył: 12.06.2011

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


Hmm... próbowałem inaczej, ale zawsze wyskakują jakieś błędy. Powyższy sposób jest chyba najlepszy.

Mógłbym zrobić też tak:
Funkcję js wyrzucam z pliku wczytywanego przez Ajax, wklejam go do kodu statycznego, tam gdzie jest "panel kontrolny". Ale racji tego, że w funkcji tej mam użyte zmienne z php, to kod ten wykona mi się nim wywołam tą funkcję buttonem, więc mi to nie pasuje. Więc zostać muszę przy wywoływaniu funkcji wraz z resztą przy użyciu Ajax'a.

Aplikacja działa (a raczej nie działa) mniej więcej tak:

Kod
//część statyczna:
[
  //Panel kontrolny z buttonami]
  - wywołanie funkcji wisielec(): <input type="button" ... onkeypress="setTimeout('wisielec()')">
  - wywołanie wczytania pliku przez Ajax

//część wczytywana przez Ajax po naciśnięciu buttonu
[
  //php
  - wylosowanie z bazy MySQL hasła
  - podzielenie hasła na części

  //php+html
  - wygenerowanie <input>, po jednym na każdą literę hasła

  //html
  - obrazek wisielca

  //js+php
  - występują zarówno zmienne js jak i zmienne php
  - podstawienie liter z podzielonego hasła pod zmienne js
  - podstawianie znaków typu ' oraz - do okienek z hasłem
  - funkcja główna wisielec() - odwoływanie się w funkcji do elementów html w pliku wczytywanym przez ajax

]

//część statyczna:
[funkcja wywołująca wczytanie pliku przez Ajax]



Zawsze mogę zrezygnować z Ajax'u u ładować nowe hasło przez odświeżenie całej strony, ale to ostateczność.

Ten post edytował serek 13.06.2011, 09:59:38
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 22:43