Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Pobieranie wyniku z php
enero_com_pl
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

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


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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował enero_com_pl 11.02.2012, 01:52:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


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']!
Go to the top of the page
+Quote Post
enero_com_pl
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

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


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.
Go to the top of the page
+Quote Post
fleshgrinder
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 10
Dołączył: 4.11.2007

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


linia 7: return false; (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ShadowD
post
Post #5





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


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! (IMG:style_emoticons/default/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)
Go to the top of the page
+Quote Post
cim
post
Post #6





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:40