![]() |
![]() ![]() |
![]() |
-sepuku- |
![]()
Post
#1
|
Goście ![]() |
Witajcie. Chcialbym za pomoca ajaxa wyslac dane z formularza do pliku przetwarzajacego *.php i odebrac juz przetworzone dane i wstawic z powrotem do formularza.
Probowalem z biblioteka advAjax, lecz na probach narazie sie skonczylo. Chcialem zrobic formularze, ktore wykonywalyby sie bez przeladowania, akcja w tle i otrzymac dane zwrotne. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
słabo próbowałeś...
Myślę ze z wysyłaniem danych do pliku nie masz problemu, jeśli chodzi o odbiór tworzysz funkcję która wczytuje plik do div'a i powtarzasz ją co x sekund (setInterval('nazwa_funkcji', 'czas');" |
|
|
-sepuku- |
![]()
Post
#3
|
Goście ![]() |
Tak, z wysylaniem nie mam problemu, lecz troche sie glowie nad ich przyjeciem. Zastosowalem prosty kod ajaxa
Kod function umiesc(b) { var wynik = eval('(' + b + ')'); for (var a in wynik) $(a).innerHTML = wynik[a]; } function wyslij() { advAJAX.get({ url: "page.php", onSuccess : function(obj) { umiesc(obj.responseText); }, onError : function(obj) { alert("Error: " + obj.status); } }); } Po kilku probach doszedlem do wniosku ze zwracany tekst w zmiennej obj.responseText to tekst, ktory wyswietlam w pliku php np funkcja echo. W takim razie musialbym przygotowac odpowiedni string dla tej zmiennej cos w stylu jakis_div=wartosc. Lecz dostaje komunikat, ze jest to skladniowo niepoprawne, nawet probujac wyslac stringa w postaci "jakis_div":"wartosc" dostaje taki sam komunikat, nie mam juz pomyslow. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
Kod <html> <head> <title>strona</title> <script> function view(adres, element) { advAJAX.get({url: adres, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }}) } setInterval('view(\'jakis_plik.php\', \'id_jakiegos_diva\')', 1000); </script> <body> <div id="id_jakiegos_diva"></div> </body> </html> tym sposobem na stronie będziesz na bieżąco wyświetlał zawartość pliku jakis_plik.php który może np pobierać dane z bazy |
|
|
-sepuku- |
![]()
Post
#5
|
Goście ![]() |
W Twoim przykladzie odbior danych jest, ale gdzie je wysylasz? Formularz jest po to by przekazac jakies dane...
![]() Wydaje mi sie, ze zrobilem juz wiekszosc: Kod function umiesc(b) { var wynik = eval('(' + b + ')'); for (var a in wynik) document.getElementById(a).value = wynik[a]; } function wyslij() { var s = ''; for (i=0; i<document.forms[0].length; i++) s += document.forms[0].elements[i].name + '=' + document.forms[0].elements[i].value + '&'; advAJAX.post({ url: 'page.php', queryString : s, onSuccess : function(obj) { umiesc(obj.responseText); }, onError : function(obj) { alert('Error: ' + obj.status); } }); } Wysylam wartosci wszystkich pol formularza metoda POST do skryptu page.php, obrabiam i wstawiam spokojnie w divy czy tak jak w tym przypadku w pola tekstowe. Wszystko dziala, zmiany widoczne itd. Martwi mnie tylko blad, ktory pojawia sie w konsoli bledow w ff o tresci: nieprawidlowo sformowany. Dodam, ze z php przesylam stringa o takiej postaci: Kod {
"w1":"ddd", "w2":"ccc", "w3":"ggg" } |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 813 Pomógł: 34 Dołączył: 18.03.2007 Skąd: o stamtąd Ostrzeżenie: (0%) ![]() ![]() |
"Tak, z wysylaniem nie mam problemu, " to mi dało tylko jedno do zrozumienia...
Kod <html> <head> <title>strona</title> <script> function view(adres, element) { advAJAX.get({url: adres, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }}) } function send(element) { advAJAX.assign(document.getElementById(element),{}); } setInterval('view(\'jakis_plik.php?act=view\', \'id_jakiegos_diva\')', 1000); </script> <body onload="send('id_jakiegos_form');"> <div id="id_jakiegos_diva"></div> <br /> <form action="jakis_plik.php?act=save" id="id_jakiegos_form" method="post"> <input type="text" name="tresc" /><br /> <input type="submit" value="wyslij" /> </form> </body> </html> plik jakis_plik.php
mam nadzieje ze zrozumiesz pisane z palca możliwe literówki pozdrawiam Chmura Ten post edytował b_chmura 10.11.2007, 23:46:54 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:13 |