Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Ajax] nie działa żaden skrypt
Forum PHP.pl > Forum > XML, AJAX > AJAX
coco
Mam WebServ'a wersji 2.0. Próbuję uruchomić skrytpy z zajęć, które tam mi działały i nic...
Co zrobić?
darko
1. pokazać skrypt
2. pokazać treść błędu
3. napisać, co się chce zrobić i co nie wychodzi
4. przestrzegać zasad ortografii
coco
Skrypt:
  1. <?php
  2.  
  3. if (isset($_GET['kraj']))
  4.  
  5. {
  6.  
  7. switch( $_GET['kraj'] )
  8.  
  9. {
  10.  
  11. case 'Polska':
  12.  
  13. case 'USA':
  14.  
  15. case 'Australia':
  16.  
  17. echo 'ok';
  18.  
  19. break;
  20.  
  21. default:
  22.  
  23. echo '0';
  24.  
  25. }
  26.  
  27. }
  28.  
  29. ?>


Html:
  1. <html>
  2.  
  3. <head>
  4.  
  5.  
  6.  
  7. <script>
  8.  
  9.  
  10.  
  11. // Inicjowanie obiektu XMLHttpRequest
  12.  
  13. const skrypt = 'walidacja.php';
  14.  
  15. var ObiektXMLHttp = false;
  16.  
  17.  
  18.  
  19. if ( window.XMLHttpRequest )
  20.  
  21. {
  22.  
  23. ObiektXMLHttp = new XMLHttpRequest();
  24.  
  25. }
  26.  
  27. else if ( window.ActiveXObject ) // przegladarka IE
  28.  
  29. {
  30.  
  31. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  32.  
  33. }
  34.  
  35.  
  36. function waliduj( nazwa_skryptu, kraj)
  37.  
  38. {
  39.  
  40. if( ObiektXMLHttp )
  41.  
  42. {
  43.  
  44. ObiektXMLHttp.open("GET", nazwa_skryptu + '?kraj=' + kraj, true );
  45.  
  46.  
  47.  
  48. ObiektXMLHttp.onreadystatechange = obsluga_odpowiedzi;
  49.  
  50.  
  51.  
  52. ObiektXMLHttp.send( null ); //dla GET tutaj null
  53.  
  54. }
  55.  
  56. }
  57.  
  58.  
  59.  
  60. function obsluga_odpowiedzi()
  61.  
  62. {
  63.  
  64. if ( ObiektXMLHttp.readyState == 4 )
  65.  
  66. {
  67.  
  68. if( ObiektXMLHttp.status == 200 )
  69.  
  70. {
  71.  
  72. if (ObiektXMLHttp.responseText == 'ok')
  73.  
  74. document.getElementById("wynik").innerHTML = "Kraj jest poprawny!";
  75.  
  76. else
  77.  
  78. document.getElementById("wynik").innerHTML = "Kraj nie jest poprawny";
  79.  
  80. }
  81.  
  82. }
  83.  
  84. }
  85.  
  86.  
  87.  
  88. </script>
  89.  
  90. </head>
  91.  
  92. <body>
  93.  
  94. <input type="text" id="txtCountry" value="Wpisz nazwe kraju" onkeyup="waliduj(skrypt, this.value);" />
  95.  
  96. <span id="wynik"></span>
  97.  
  98. </body>
  99.  
  100. </html>
  101. Samo php działa, jak się GET'em wrzuci dane. Nie działa formularz i współpraca jednego z drugim...
darko
Cytat
nie działa żaden skrypt


Jak nie działa, jak działa, masz dwa pliki:

1. plik forum23_a.php:

  1. <?php
  2.  
  3. if (isset($_GET['kraj']))
  4.  
  5. {
  6.  
  7. switch( $_GET['kraj'] )
  8.  
  9. {
  10.  
  11. case 'Polska':
  12. echo 1;
  13. break;
  14.  
  15. case 'USA':
  16. echo 1;
  17. break;
  18.  
  19. case 'Australia':
  20. echo 1;
  21. break;
  22.  
  23. default:
  24. echo 0;
  25. break;
  26.  
  27. }
  28.  
  29. }
  30.  
  31. ?>




2. plik forum23_b.html
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <title>Insert title here</title>
  4. var ObiektXMLHttp = false;
  5.  
  6. if(window.XMLHttpRequest) {
  7. ObiektXMLHttp = new XMLHttpRequest();
  8. } else if(window.ActiveXObject) {
  9. ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  10. }
  11.  
  12. function waliduj(nazwa_skryptu, kraj) {
  13. if( ObiektXMLHttp ) {
  14. ObiektXMLHttp.open("GET", nazwa_skryptu + '?kraj=' + kraj, true );
  15. ObiektXMLHttp.onreadystatechange = obsluga_odpowiedzi;
  16. ObiektXMLHttp.send( null );
  17. }
  18. }
  19.  
  20. function obsluga_odpowiedzi() {
  21.  
  22. if (ObiektXMLHttp.readyState == 4 && ObiektXMLHttp.status == 200) {
  23. if (ObiektXMLHttp.responseText == 1) {
  24. document.getElementById("wynik").innerHTML = "Kraj jest poprawny!";
  25. //document.getElementById("wynik").innerHTML = ObiektXMLHttp.responseText;
  26. }
  27. else {
  28. document.getElementById("wynik").innerHTML = "Kraj nie jest poprawny";
  29. //document.getElementById("wynik").innerHTML = ObiektXMLHttp.responseText;
  30. }
  31. }
  32. }
  33. </head>
  34. <body>
  35.  
  36. <input type="text" id="txtCountry" onkeyup="waliduj('forum23_a.php', this.value);" />
  37.  
  38. <span id="wynik"></span>
  39.  
  40. </body>
  41. </html>



post scriptum: to teraz, jak czegoś uczą, to już niczego nie tłumaczą questionmark.gif
coco
tłumaczą, ale nie zawsze jest się w w stanie słuchać...
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.