Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]Niedziałający formularz - brak reakcji
Matt23
post 17.01.2015, 16:37:28
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.01.2013

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


Witam, posiadam taki oto kod
  1. <form id="mail">
  2. <input id="sender_name" type="text" class="feedback-input">
  3. <input id="sender_address" type="text" class="feedback-input" pattern="[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}" required>
  4. <input id="recipient_address" type="text" class="feedback-input" pattern="[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}" required>
  5. <input id="subject" type="text" class="feedback-input" required>
  6. <textarea id="content" class="feedback-input" required></textarea>
  7. <input type="submit" value="Send">
  8. <div id="result"></div>
  9. </form>


Do tego ajax

  1. $(document).ready(function() {
  2. $("#mail").submit(function(event) {
  3. var sender_name = $('#sender_name').val();
  4. var sender_address = $('#sender_address').val();
  5. var recipient_address = $('#recipient_address').val();
  6. var subject = $('#subject').val();
  7. var content = $('#content').val();
  8.  
  9. $.ajax({
  10. type: 'POST',
  11. url: 'mail.php',
  12. data: {
  13. sender_name: sender_name,
  14. sender_address: sender_address,
  15. recipient_address: recipient_address,
  16. subject: subject,
  17. content: content
  18. }
  19. })
  20. .done(function(response) {
  21. console.log('Ajax success');
  22. var message = response === "OK" ? "Poszło" : "Error";
  23. $('#result').val(message);
  24. })
  25. .fail(function() {
  26. console.log('Ajax error');
  27. });
  28. });
  29. });


I plik mail.php o zawartości

  1. <?
  2. echo 'OK';
  3. ?>


Formularz po wysłaniu zeruje swoje pola, nie przypisuje niczego do pola #result, a konsola wyglada tak:



Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Pyton_000
post 17.01.2015, 17:23:14
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


dodaj
event.preventDefault();
przed var'ami

dodaj msg do funkcji fail i zrób consol.log z niej.
Go to the top of the page
+Quote Post
Matt23
post 17.01.2015, 17:44:45
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.01.2013

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


Dzięki, teraz wszystko gra z wyjątkiem tego, że #result nie otrzymuje zawartości zmiennej message. Console.log mówi, że message ma prawidłową wartość więc nie rozumiem czemu nie zostaje ona wpisana do diva.

Edit, poradziłem sobie, val() zmieniłem na html()

Ten post edytował Matt23 17.01.2015, 18:00:34
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 08:19