Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX] Działa, ale wyświetla kod strony, zamiast żądanego zdania
arlid
post 16.12.2013, 19:11:13
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 16.06.2007

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


Witajcie. Mam pewien problem z AJAXem. Nie do końca znam się na tym (właściwie to dopiero zaczynam z tym przygodę. Chciałbym to zaimplementować do formularza logowania, gdzie po zalogowaniu (bądź nie) nad przyciskiem zaloguj pojawi się stosowny komunikat - oczywiście bez przeładowania strony, ładnie sobie "wyjeżdżając". Ale zanim do tego dojdę chciałem ogólnie zapoznać się z tematem i zrobić coś prostego. I tak mam pliki:

test.html

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <title>Bez nazwy</title>
  5. <meta charset="UTF-8">
  6. <script type="text/javascript" src="jquery.js"></script>
  7.  
  8. <!-- SKRYPT AJAX WYŚWIETLA OKNO ALERT Z ZAWARTOŚCIĄ POLA INPUT O NAZWIE tresc_testowa -->
  9. <script type="text/javascript">
  10. jQuery(document).ready(function() {
  11.  
  12. <!-- Po wciśnięciu obiektu (button KLIK) o id=wyswietl_alert -->
  13. $("#wyswietl_alert").click(function() {
  14.  
  15. <!-- pobierz tekst z pola input o nazwie name=tresc_testowa -->
  16. var wiadomosc = $('input[name=tresc_testowa]').val();
  17.  
  18. //wyswietl tekst z inputa name=tresc_testowa w okie alertowym
  19. alert(wiadomosc);
  20. });
  21. });
  22. </script>
  23.  
  24.  
  25. </head>
  26. <body>
  27.  
  28. <form action="" method="post">
  29. <input name="tresc_testowa" type="text">
  30. <input type="button" id="wyswietl_alert" name="wyswietl_alert" value="KLIK" />
  31. </form>
  32.  
  33. </body>
  34. </html>


I Super, wszystko działa. Wpisany tekst pojawia mi się wyskakującym okienku. Teraz chciałem to zmodyfikować, żeby wyświetlić to pod spodem (z użyciem PHP do obróbki formularza - ustawiłem warunek), ale nie chce mi to działać. Oto pliki

test.html

  1. <!DOCTYPE html>
  2. <html lang="pl">
  3. <head>
  4. <title>Bez nazwy</title>
  5. <meta charset="UTF-8">
  6. <script type="text/javascript" src="jquery.js"></script>
  7.  
  8. <!-- SKRYPT AJAX WYŚWIETLA OKNO ALERT Z ZAWARTOŚCIĄ POLA INPUT O NAZWIE tresc_testowa -->
  9. <script type="text/javascript">
  10. jQuery(document).ready(function() {
  11.  
  12. <!-- Po wciśnięciu obiektu (button KLIK) o id=wyswietl_alert -->
  13. $("#wyswietl_alert").click(function() {
  14.  
  15. <!-- pobierz tekst z pola input o nazwie name=tresc_testowa -->
  16. var wiadomosc = $('input[name=tresc_testowa]').val();
  17.  
  18. //wyswietl tekst z inputa name=tresc_testowa w divie #tu_pokaz_wiadomosc
  19. $.ajax({
  20. url: "przetworz.php",
  21. type: "POST",
  22. data: "wiadomosc="+tekst,
  23. success: function(wdm) {
  24. $("#tu_pokaz_wiadomosc").text(wdm);
  25. }
  26. });
  27. });
  28. });
  29. </script>
  30. </script>
  31.  
  32.  
  33. </head>
  34. <body>
  35.  
  36. <form action="" method="post">
  37. <input name="tresc_testowa" type="text">
  38. <input type="button" id="wyswietl_alert" name="wyswietl_alert" value="KLIK" />
  39. </form>
  40. <div id="tu_pokaz_wiadomosc"></div>
  41.  
  42. </body>
  43. </html>


przetworz.php

  1. <?php
  2. //Zmienna wiadomosc pobiera wartość
  3. $wiadomosc=$_POST['wiadomosc'];
  4.  
  5. // Sprawdzam czy istnieje "wiadomosc""
  6. if(!isset($wiadomosc)) {
  7. // Jeżeli nie, błąd
  8. echo'Nie ma wiadomości';
  9. } else {
  10. //W przeciwnym wypadku
  11. echo'Twoja wiadomość to $wiadomosc';
  12. }
  13. ?>


Wszystko byłoby ok, co prawda ajax działa, ale zamiast jakiegoś komunikatu z pliku przetworz.php wyświetla mi pod spodem kod strony test.html. Dlaczego tak sie dzieje?

Czy mogę zamiast

[JAVASCRIPT] pobierz, plaintext
  1. <!-- Po wciśnięciu obiektu (button KLIK) o id=wyswietl_alert i polu name=wyswietl_alert-->
  2. $("#wyswietl_alert").click(function() {
  3. <!-- Ewentualna treść -->
  4. }
[JAVASCRIPT] pobierz, plaintext


Zrobić tak

[JAVASCRIPT] pobierz, plaintext
  1. <!-- Po wciśnięciu obiektu (button KLIK) o id=wyswietl_alert i polu name=wyswietl_alert-->
  2. $('input[name=wyswietl_alert]').click(function() {
  3. <!-- Ewentualna treść -->
  4. }
[JAVASCRIPT] pobierz, plaintext


Czy to jest poprawnie? Dziękuję za wszelką pomoc i porady smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.06.2025 - 13:42