Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapisanie wyniku skryptu jquery do zmiennej php
Forum PHP.pl > Forum > Przedszkole
tom292
Witam, mam problem z zapisaniem wyniku skryptu jquery do zmiennej php.

Oto skrypt Jquery

  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  2.  
  3. $(document).ready(function() {
  4.  
  5. $("#ile,#cena").change(function() {
  6. var total = 0;
  7. var ile= parseInt($('#ile').attr('value'));
  8. var cena = "<?=$cena;?>";
  9. if (!ile || !cena)return false;
  10. var total = (ile * cena);
  11.  
  12. $("#results").html(total);
  13. return false;
  14.  
  15.  
  16.  
  17. });
  18. })
  19.  
  20. </script>
  21. </head>
  22.  
  23. <div id="results"></div>


I na tą chwilę skryp ten działa jak należy - oblicza w chwili rzeczywistej wynik, który powstaje po wpisaniu liczby w pole formularza php o id "ile" - która jest mnożona z liczbą zapisaną pod zmienną $cena
i wyświetlany jest wynik tego mnożenia za pomocą <div id='results'></div>
Problem polega w tym, że zamiast wyświetlać ten wynik w div-ie - chciałbym przypisać go do zmiennej php np : $wynik

I nie wiem jak to zrobić - proszę o pomoc.

Jeśli nie idzie tego przenieść do zmiennej php - to jak to można wyświetlić inaczej - nie licząc div-a ?
kamilo818
Ajaxem prześlij do php.
W php przypisujesz do zmiennej za pomocja $_GET lub $_POST
tom292
Więc próbuję coś takiego :
  1. <head>
  2. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  3. <script>
  4.  
  5. $(document).ready(function() {
  6.  
  7. $("#ile,#cena").change(function() {
  8. var total = 0;
  9. var ile= parseInt($('#ile').attr('value'));
  10. var cena = "<?=$cena;?>";
  11. if (!ile || !cena)return false;
  12. var total = (ile * cena);
  13.  
  14. $("#results").html(total);
  15. return false;
  16.  
  17. });
  18. })
  19. $.get(
  20. "test.php",
  21. {
  22. wynik: "#results"
  23. }
  24. );
  25.  
  26.  
  27. </script>
  28. </head>
  29.  
  30. <?php
  31. $wynik = $_POST['wynik'];
  32. ?>


I nie działa - jestem dość zielony w tym - proszę o pomoc.
kamilo818
zobacz co ci tym getem wysyła w konsoli.
I jak wysylasz getem to pobrac tez getem a nie postem jak teraz

  1.  
  2. dataString = 'wynik='+wynik;
  3.  
  4. $.ajax({
  5. type: 'get',
  6. url: ('test.php'),
  7. data: dataString,
  8.  
  9. success: function (obj) {
  10.  
  11. $('body').html(obj);
  12.  
  13. }
  14. })
tom292
Nie ogarniam - zbyt zielony jestem, potrzebowałbym bardziej rozbudowanego przykladu lub w ostateczności gotowca.

Proszę o pomoc.
kamilo818
  1. <script>
  2.  
  3. $(document).ready(function() {
  4.  
  5. $("#ile,#cena").change(function() {
  6. var total = 0;
  7. var ile= parseInt($('#ile').attr('value'));
  8. var cena = "<?=$cena;?>";
  9. if (!ile || !cena)return false;
  10. var total = (ile * cena);
  11.  
  12. dataString = 'total='+total;
  13.  
  14. $.ajax({
  15. type: 'get',
  16. url: ('htttp://tutaj_adres_do_pliku/test.php'),
  17. data: dataString,
  18.  
  19. success: function (obj) {
  20.  
  21. $('body').html(obj);
  22. $("#results").html(total);
  23. }
  24. })
  25.  
  26.  
  27. });
  28. });
  29.  
  30.  
  31.  
  32. </script>
  33. </head>
  34.  
  35. <?php
  36. $wynik = $_GET['total'];
  37. echo $wynik;
  38. ?>
tom292
Konsola zwraca: ReferenceError: $ is not defined

w tej linijce :
  1. $(document).ready(function() {


Chyba jednak będę musiał pozostać przy tym divie - bo ani troche tego nie ogarniam ...
kamilo818
Masz biblioteke jquery dołączoną?

Pokaz reszte kodu
tom292
EDIT :

Dołączyłem inną bibliotekę i działa - tylko pokazał się teraz jeszcze 1 mały inny problem - ale spróbuję sam go rozwiązać
Na razie wielkie dzięki za pomoc - wrazie czego będę jutro pisał - jak nie dam rady wink.gif
Jeszcze raz Wielkie Dzięki kamilo818
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.