Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX]wysyłanie danych metodą POST
Forum PHP.pl > Forum > Przedszkole
kropamk
Witam,

chcę wysyłać wartości z formularza metodą POST za pomocą ajax.

Mam następujący kod
  1. <div id="contact_form">
  2. <form name="contact" action="">
  3. <input type="text" name="name" id="name" class="full" style="width: 64%" placeholder="Nazwa">
  4. <label class="error" for="name" id="name_error">This field is required.</label>
  5. <input type="submit" name="submit" class="button" id="submit_btn" value="Send" />
  6. </form>
  7. </div>
  8.  
  9. $(function() {
  10. $('.error').hide();
  11. $('.button').click(function() {
  12. // validate and process form here
  13.  
  14. $('.error').hide();
  15. var name = $("input#name").val();
  16. if (name == "") {
  17. $("label#name_error").show();
  18. $("input#name").focus();
  19. return false;
  20. }
  21.  
  22. var name = $("input#name").val();
  23. var dataString = 'name=' + name;
  24.  
  25. $.ajax({
  26. type: "POST",
  27. url: "new.php",
  28. data: dataString,
  29. success: function() {
  30. $('#contact_form').html("<div id='message'></div>");
  31. $('#message').html("<h2>Contact Form Submitted!</h2>")
  32. .append("<p>We will be in touch soon.</p>")
  33. .hide()
  34. .fadeIn(1500, function() {
  35. $('#message').append("<img id='checkmark' src='images/check.png' />");
  36. });
  37. }
  38. });
  39. return false;
  40. });
  41.  
  42.  
  43. });


  1. if (isset($_POST['name'])) {
  2. echo $_POST['name'];
  3. } else {
  4. echo'nie ma post';
  5. }


Dostaje wiadomość o powodzeniu $.ajax ale nie mam posta w php tj. dostaje komunikat "nie ma post"

Nakierujcie na dobrą drogę smile.gif

pozdrawiam,
kropamk
com
  1. <form name="contact" action="" method="post">


btw nie wiem czy wkleiłeś nie ten kod ale przecież nie dostajesz tu odp z php, jak chcesz odp to musisz tak:
  1. <div id="contact_form">
  2. <form name="contact" action="" method="post">
  3. <input type="text" name="name" id="name" class="full" style="width: 64%" placeholder="Nazwa">
  4. <label class="error" for="name" id="name_error">This field is required.</label>
  5. <input type="submit" name="submit" class="button" id="submit_btn" value="Send" />
  6. </form>
  7. </div>
  8.  
  9. $(function() {
  10. $('.error').hide();
  11. $('.button').click(function() {
  12. // validate and process form here
  13.  
  14. $('.error').hide();
  15. var name = $("input#name").val();
  16. if (name == "") {
  17. $("label#name_error").show();
  18. $("input#name").focus();
  19. return false;
  20. }
  21.  
  22. var name = $("input#name").val();
  23. var dataString = 'name=' + name;
  24.  
  25. $.ajax({
  26. type: "POST",
  27. url: "new.php",
  28. data: dataString,
  29. success: function(data) {
  30. alert(data);
  31. $('#contact_form').html("<div id='message'></div>");
  32. $('#message').html("<h2>Contact Form Submitted!</h2>")
  33. .append("<p>We will be in touch soon.</p>")
  34. .hide()
  35. .fadeIn(1500, function() {
  36. $('#message').append("<img id='checkmark' src='images/check.png' />");
  37. });
  38. }
  39. });
  40. return false;
  41. });
  42.  
  43.  
  44. });
  45. </script>
kropamk
specjalnie nie dalem w form method=POST żeby wysyłał dane dzięki ajax a nie php.

To moje pytanie brzmi, jak odebrać wartości przesłane postem przez ajax questionmark.gif gdybym np chciał dodać do bzy danych wartość z inputa name ?
com
metoda w zasadzie nie gra roli jak masz Ajax ale jak sobie wyłączę js to dostane to w get a to chyba nie dobrze tongue.gif

a znasz zasadę działania ajax? Jak nie to:

wysyłasz dane(np index.php -> coś z nimi robisz (np ten twój new.php) -> odbierasz wynik z new.php(index.php) biggrin.gif

wiec w pliku new.php odpalasz sobie pdo i heja a potem zwracasz wynik jeśli się powiodło, lub błąd jeśli nie dodał wink.gif


a jak odebrać wynik z pliku new.php napisałem post wyżej wink.gif

a w new.php odbierasz dokładnie tak jak to zrobiłeś wink.gif btw crossposting jest nie dozwolony smile.gif
maviozo
Ja bym zaczął od sprawdzenia, co php w ogóle dostaje - możesz na próbę sprawdzić print_r($_POST) i będziesz wiedział, czy dostajesz cokolwiek smile.gif

Poza tym nigdzie nie widzę pola 'category', 'unit'... a wymagasz ich w warunku.
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.