Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przekazanie danych z js do php
Forum PHP.pl > Forum > XML, AJAX > AJAX
jez86
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.
Babcia@Stefa
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
jez86
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?
Cysiaczek
W tym przypadku zamiast POST użyj GET. Przenoszę na Ajax
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.