Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [advajax]Zwracanie wartości do różnych inputów
artur81
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Do tej pory jak zwracałem dane z serwera pobrane ajaxem to w pliku php dawałem echo 'coś do zwrócenia' i wstawiałem to do diva na stronie za pomocą innerhtml.
Wszystko pięknie, teraz stanąłem przed innym problemem.
Mam kilka pól tekstowych do których chcę wstawić dane z bazy.
Założmy że są to pola imie, nazwisko ,wiek, wzrost a w bazie mam takie informacje dla kilku osob.
Zrobiłem sobie diva, który zawiera listę nazwisko tych osób.
Pozycjonuję go abolutnie i pojawia się po kliknięciu w ikonę. Taki ala popup.
Do czego zmierzam. Lista nazwisk na tym divie to w rzeczywistości lista linków do których mam przypisane funkcje JS.
np
  1. <a href="java script:pobierz(1);>Jan Kowalski</a>
  2. <a href="java script:pobierz(2);>JKarol Nowak</a>

itd
Teraz chciałbym aby po kliknięciu na nazwisko nastąpiło wywołanie funkcji pobierz która połączy się z serwerem pobierze z bazy dane które mi są potrzebne i wstawi je do inputa.
Sama funkcja nie stanowi problemu, problemem jest dla mnie zwrócenie
np pola imie z bazy do inputa o id=imie
pola nazwisko z bazy do inputa o id=nazwisko

Jak zrobić takie zwracanie wyników, żeby dane trafiły do konkretnych pól?


--------------------
Go to the top of the page
+Quote Post
E -dd
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 18.12.2006
Skąd: Warszawa

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


A nie możesz zwrócić formularza z wstawionymi danymi do DIV'a ?


--------------------
Program TV, Sukces internetowy, Forum dla administratorów stron
Go to the top of the page
+Quote Post
artur81
post
Post #3





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


no właśnie w tym przypadku nie mogę, jakby to było takie proste to bym nie pytał biggrin.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




skrypt php niech ci zwraca te dane co potrzebujesz jako xml lub json, w js odbierasz te dane i wstawiasz do inputa. zadna filozofia winksmiley.jpg
Skryptow co to przetwarzaja takie xml bylo juz pare (w tym dziale co piszesz topic) wiec wystarczy tylko przejrzec


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
artur81
post
Post #5





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


hm, szukałem, trafiłem na kilka tematów ale nie umiem niestety zastosować tego u siebie.
Doszedłem do tego że genruję tego xml, zwracany jest poprawnie bo wyświetlałem go sobie przez alert() i są tam dane na które czekam.
Problem mam z wstawieniem wartości poszczególnych węzłów do inputów.
Robię to tak:
  1. function parseRecords(xml) {
  2. nazwa            =xml.getElementsByTagName("nazwa");
  3. ulica            =xml.getElementsByTagName("ulica");
  4. miasto      =xml.getElementsByTagName("miasto");
  5. nip            =xml.getElementsByTagName("nip");
  6. }


a w onSuccess dla advajax mam:
  1. parseRecords(obj.responseXML);
  2.        $('nazwa_nabyw').value=nazwa;
  3.            $('ulica_nabyw').value=ulica;
  4.            $('miasto_nabyw').value=miasto;
  5.            $('nip_nabyw').value=nip;

Wydaje mi się że powinno to działać, ale zamaist spodziewanych wartości dostaję do inputa
  1. [object HTMLCollection]


Próbowałem na różne sposoby:
  1. xml.getElementsByTagName("nazwa").value
  2. xml.getElementsByTagName("nazwa").nodeValue
  3. xml.getElementsByTagName("nazwa").item(0).text


pewnie bzdury w tym przypadku, ale nie znam się zbytnio na tym, w zasadzie to jeszcze nie korzystałem z XML, a sprawa jest dosyć pilna sad.gif


--------------------
Go to the top of the page
+Quote Post
seaquest
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


getElementsByTagName - jak sama nazwa wskazuje zwraca tablicę (kolekcję)

http://www.w3.org/TR/2000/REC-DOM-Level-2-...html#ID-A6C9094

a odwołanie się do elementu, to już innerHTML oczywiście po item(0)


--------------------
Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN
Go to the top of the page
+Quote Post
artur81
post
Post #7





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


no dobrze czyli rozmumiem z tego że skoro mam taką strukturę

  1. <records>
  2.   <nazwa>jakaś nazwa</nazwa>
  3.   <ulica>przykładowa ulica</ulica>
  4.  <miasto>przykładowe miasto</miasto>
  5.  <nip>jakiś nip</nip>
  6. </records>


to na początku robię:
  1. records = xml.getElementsByTagName("records");
aby pobrać całą tablicę

a następnie
nazwa =records.item(0);

tylko nie mam pojęcia gdzie i jak mam wstawić innerHTML, nie widzę zastosowania, a linku który podałeś nie mam żadnych przykładów na to.


--------------------
Go to the top of the page
+Quote Post
seaquest
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 790
Pomógł: 7
Dołączył: 6.02.2003
Skąd: Polska

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


Google i manuale bolą?

http://developer.mozilla.org/pl/docs/DOM:element.innerHTML

Jako, że bolą nie po raz pierwszy - ostrzeżenie.


--------------------
Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN
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 Aktualny czas: 21.08.2025 - 16:12