Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przekazanie danych z js do php
jez86
post 12.04.2008, 13:56:09
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.04.2008

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


Związku z tym, że jestem świerzy na tym forum Witam wszystkich smile.gif .

Mam do zrobienia formularz, który waliduje, wysyła dane do bazy MySQL i wyświetla tabelę.

Problem polega na przesłaniu danych POST formularza z funkcji javyscript post.js do pliku send.php, który to zapisuje dane w bazie. Oczywiście wszystko musi się odbywać bez przeładowania strony.

Kod
       if (window.XMLHttpRequest)
           {
            ObiektXMLHttp = new XMLHttpRequest(); }
            else if (window.ActiveXObject)
               {
                ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
          
         function getData(zrodlo, cel) {
           if(ObiektXMLHttp)  {
        
              var cel = document.getElementById(cel);
              ObiektXMLHttp.open("post", zrodlo);                        //wywołanie pliku php
        
              ObiektXMLHttp.onreadystatechange = function() {
                 if (ObiektXMLHttp.readyState == 4)   {
                    cel.innerHTML = ObiektXMLHttp.responseText;
                 }  
              }
              ObiektXMLHttp.send(null);
            }
         }


Po pozytywnej walidacji zostaje wywołana funkcja getData( 'send.php', 'div' ),
Jak tu przekazać dane z formularza za pomocą POST do pliku send.php? questionmark.gif

Niestety nie znalazłem rozwiązania na googlach, dlatego proszę was o pomoc.

Mam jeszcze jeden problem. Podobno tablica $_POST jest superglobalną, czyli mogę się do niej odnosić z każdego miejsca. To dlaczego po naciśnięciu onsubmit, wywołaniu funkcji w javascript i wywołaniu funkcji w php nie mogę w niej korzystać z tablicy POST. (dla ułatwienia formularz -> onsubmit -> javascript -> php (nie mogę odwołać się do POST).

Wielka prośba o sugestie, uwagi, podpowiedzi w celu rozwiązania tego zagadnienia.

Ten post edytował jez86 12.04.2008, 19:40:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Babcia@Stefa
post 12.04.2008, 20:04:37
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Zamiast name="nazwa pola" wstawiaj id="nazwa pola", wtedy napisz funkcję np.
Kod
function StartSearch()
{
   doc = document.getElementById('search');
   type = document.getElementById('select_input');
   GetData('send.php?doc='+doc.value+'&type='+type.value, 'div');
   doc.value = '';
}


Dziękuję, Babcia@Stefa


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
jez86
post 13.04.2008, 10:52:42
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.04.2008

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


Wykorzystałem podaną funkcję StartSearch(), ale niestety nie działa.
Dodałem wszędzie id zamiast name, ale niestety zmienna doc nie dostaje żadnej wartości.
Co robię źle?
Go to the top of the page
+Quote Post
Cysiaczek
post 13.04.2008, 12:09:40
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




W tym przypadku zamiast POST użyj GET. Przenoszę na Ajax


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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: 19.07.2025 - 09:53