Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX][JQUERY]proste wysylanie formularza
Forum PHP.pl > Forum > Przedszkole
mas
Witam!!!
Jestem raczkujący w temacie ajax i jquery ale od czegos trzeba zaczac tak wiec:
chcle wyslac jedna zmienna z formularza poprzez ajax do skryptu php i odebrac odpowiedz i zapisac ja w divie

formularz+ js:

  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  5.  
  6.  
  7. <script type="text/javascript">
  8.  
  9. $().ready(function(){
  10.  
  11. $('#wyslij').click(function(){
  12. var email=("#email").val();
  13.  
  14.  
  15. $.ajax({
  16. url : 'test.php',
  17. type : 'GET',
  18. data : 'email='+email,
  19. success: function(data){
  20. $('#wynik').html(data);
  21. },
  22. });
  23. });
  24. });
  25. </script>
  26. </head>
  27.  
  28. <body>
  29.  
  30. <form id="formularz" method="get" >
  31. <br/>
  32. <p>
  33. <label for="email">Twój e-mail</label>
  34. <input id="email" name="email"></input>
  35. </p>
  36. <p>
  37. <input type="submit" id="wyslij"></input>
  38. </p>
  39. </form>
  40. <div id="wynik"></div>
  41. </body>
  42. </html>


i skrypt PHP

  1. <?php
  2.  
  3. $email=$_GET['email'];
  4.  
  5. echo $email;
  6. ?>


jesli wszystko dobrze zrozumialem powinno to dzialac ale nie dziala
pare pytan :
- czy w naglowku formularza powinno sie znajdowac odwolanie do action="test.php" (chyba nie bo przechodzilby do test.php)
- w adresie powinienem miec cos w stylu index.php?email=zmienna a mam tylko index.php? czyli zmienna email nie znajduje sie w tablicy $_GET
mortus
To zapewne działa, tylko strona się przeładowuje i tego "działania" nie widzisz. W bloku $('#wyslij').click(function(){}); dodaj na końcu (po wywołaniu metody .ajax()) return false;. Ewentualnie zastosuj event.preventDefault().
mas
jakby dzialalo ty chyba w divie zapisaloby zmienna z $_geta
gdy daje testowy alert(data) w succsess tez go nie widac...w linku mam juz index.php?email=zmienna
mortus
W linii 12 brakuje $ (dolara). Natomiast to i tak nie zmienia faktu, że trzeba zatrzymać wykonywanie zdarzenia, tak jak o tym pisałem.
mas
zdarzenie zatrzymalem tak jak napisales, literowka poprawiona i dalej nie przechodzi do succsess...
mas
a jak zwracamy wynik z pliku php wystarczy echo czy moze return?questionmark.gif
mortus
Cytat(mas @ 6.01.2012, 18:25:45 ) *
a jak zwracamy wynik z pliku php wystarczy echo czy moze return?questionmark.gif

To zależy od tego, jaki typ danych chcemy otrzymać. W tym przypadku chodzi nam o tekst, więc ma być echo bez żadnych dodatkowych funkcji (zresztą return nie do tego służy). Dodaj DOCTYPE do dokumentu i pokaż poprawiony kod.
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.