Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS/AJAX] Nadpisywanie zmiennej JS
QooBooS
post 12.06.2010, 16:14:32
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 15.10.2008

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


Witam.
Pracuję nad stworzeniem wygodnej wyszukiwarki-słowniczka w moim edytorze plików działającym przez przeglądarkę.
U góry umieściłem pole 'Szukaj', obok przycisk wywołujący funkcję z AJAXem wczytującą dane z bazy MySQL i wyświetlającą wyniki w formie zakładek opartych o JS. Wszystko dzieje się w divie o id 'wyszukiwarka'. Zakładki służą do oddzielenia wyników - każda zakładka zawiera dane z innej tabeli w bazie danych.
Po kliknięciu na zakładkę powinna zmienić się zawartość tabeli - nazwijmy ją 'tabela_wynikow'. Zmianą zawartości tabeli zajmuje się funkcja, która jest zadeklarowana na samej górze pliku wywołującego.
Chciałbym, aby działało to w ten sposób: są sobie zmienne, zadeklarowane przed deklaracją funkcji zmieniającej, którym przypisywany jest cały kod HTML (divy itp), który będzie wstawiony do 'tabela_wynikow'. Klikając na zakładkę, wywołujemy funkcję ZmienTresc(nazwa_zmiennej_przechowujacej_HTML), która podmienia nam zawartość tabeli.
Problem polega na tym, iż owy HTML można przypisać dopiero w pliku PHP wywoływanym przez AJAX. Na razie wygląda on tak:
  1. //...
  2. echo "<script type='text/javascript'>
  3. zakladka1 = '<div>...i tak dalej...</div>';
  4. zakladka2 = '<div>...i tak dalej...</div>';
  5. //...
  6. </script>

Wydawałoby się, że wszystko gra, ale...
zmienna1 zadeklarowana przed funkcją zmieniającą (czyli tymczasowa var zmienna1 = '';) nie jest nadpisywana przed skrypt zawarty w pliku wywoływanym przez AJAX (kod powyżej). Po kliknięciu na zakładkę wyświetla się wielkie nic, czyli '' (wartość przypisana do zmiennej przed wywołaniem skryptu AJAXa).
Moje pytanie brzmi: co zrobić, aby można było wywoływanym plikiem PHP zmienić wartość zmiennej z pliku wywołującego zadeklarowanej przed tym wywołaniem? Coś w tym stylu:
Kod
var zmienna1 = '';
var zmienna2 = '';
function wczytaj()
{
   //stworzenie obiektu ajaxa i takie tam
   ajax.open('GET','plik.php',false);
   document.getElementById('wyszukiwarka').innerHTML = ajax.responseText;
}

a w pliku plik.php kod poprzedni.
Go to the top of the page
+Quote Post
erix
post 12.06.2010, 16:18:08
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Książkowy błąd: http://eriz.pcinside.pl/weblog/ajax-w-jque...script-218.html


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 18.07.2025 - 18:17