Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Pobieranie wyniku z php
Forum PHP.pl > Forum > XML, AJAX
enero_com_pl
Witajcie.

Problem jest zapewne banalny, jednak ja siedzę nad tym cały dzień i próbowałem już 100 sposobów. Powiem tyle, że po 4h męczenia google udało mi się w ogóle wysłać formularz do php bez przeładowania strony. To co chciałbym osiągnąć to dostać zwrot przetworzonych przez php danych spowrotem i wyświetlić je w odpowiednim miejscu.

Mój kod JS:

  1.  
  2. <script type="text/javascript">
  3.  
  4. $('#calculate_form').submit(function() {
  5.  
  6. $(this).ajaxSubmit();
  7. return false;
  8.  
  9. var queryString = $('#calculate_form').formSerialize();
  10.  
  11. // the data could now be submitted using $.get, $.post, $.ajax, etc
  12. $.post('kalkulator.php', queryString, function(response) {
  13. $("#how_much").html(response);
  14. }
  15.  
  16. );
  17. });
  18.  
  19. </script>
  20.  


kod php uproszczony:

  1. echo $wynik;


nie ma sensu chyba więcej pisać bo kod php działa ( sprawdzone w firebugu - dostaję odpowiedź z konkretnym wynikiem ).

No właśnie nie wiem teraz jak tą odpowiedź wyświetlić w divie od id #how_much. To jest cały problem.

dodałem tam response, ponoć miało działać. Nie działa. Proszę o porady, pomoc, rozwiązanie, cokolwiek.

Edit: Korzystam z wtyczki jQuery form ( http://jquery.malsup.com/form/ )

Pozdrowienia smile.gif
ShadowD
Grrr, ja nie jestem specem od js, ale nie widzę sensu dawania kilku linii tutaj.

Kod
$('form submit').click(function(){
    $.post('ajax/test.html', $('form').serialize(), function(data) {
        $('#odpowiedz').html(data)
    })
})


Pisane z palca, pobiera wszystkie pola <input /> z pomiędzy znaczników <form /> wysyła je metodą post i dane zwrotne umieszcza w elemencie o id=odpowiedz.

Dodatkowo kod php powinien wyglądać dla testu tak:
Kod
<?php print_r($_POST) ?>


Nawet jak hosting pozwala używania zmiennych w taki sposób jak Ty to robisz to tego nie rób i zawsze pisz $_POST['nazwaPola']!
enero_com_pl
Tam jest dokonywane obliczenie i wynik nie jest tym co podaję do php przy użyciu jquery. w jquery podaję liczbę i 3 parametry które robią warunek. Dlatego moja konstrukcja jest dobra.
fleshgrinder
linia 7: return false; smile.gif
ShadowD
Pisze że dostaje coś:
Cytat
nie ma sensu chyba więcej pisać bo kod php działa ( sprawdzone w firebugu - dostaję odpowiedź z konkretnym wynikiem ).


Więc ten return chyba nie działa! haha.gif Możesz to gdzieś dać na live, bo nie chce nam się strzelać a ewidentnie coś nie tak robisz, skoro na 100% dostajesz od php informacje to zmienna response je w sobie zawiera, więc czas sprawdzić czy masz div o id=how_much, jak istnieje takowy to sprawdź:
alert(response)
cim
Witam,

skoro używasz pluginu jQuery Form Plugin to polecam zapoznać się z parametrami: 'target' (identyfikator elementu, do którego zostanie załadowana odpowiedź) i 'beforeSubmit' (funkcja wywoływana przed wysłaniem formularza). Opis jest na stronie pluginu.

Pozdrawiam
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.