Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AJAX - nieprawidłowe działanie w IE (działa w FF, opera)
adrian_n1987
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 1.11.2009

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


Witam,

mój problem polega na tym, że skrypt nie działa prawidłowo po przeglądarkami internet explorer (IE7 i IE 8). W FireFoxie i operze jest wszytsko tak jak należy.


zadadaniem jest asynchroniczne dodanie rekordu do bazy danych.

w pliku index: mamy coś takiego:

<input type="text" id="2-1" class="ocena" onChange="zapisz('23','2','1','2-1','2')"/>

  1. var xmlHttp = createXmlHttpRequestObject();
  2. var uczen;
  3. var przedmiot;
  4. var ocena;
  5. var id_oceny;
  6. var div;
  7.  
  8.  
  9.  
  10.  
  11. function createXmlHttpRequestObject()
  12. {
  13. if (window.XMLHttpRequest)
  14. {
  15.  
  16. return new XMLHttpRequest();
  17. }
  18. if (window.ActiveXObject)
  19. {
  20.  
  21. return new ActiveXObject("Microsoft.XMLHTTP");
  22. }
  23. return null;
  24. }
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. function zapisz(fuczen,fprzedmiot,fwpisujacy,fdiv,fid_oceny)
  33. {
  34.  
  35. uczen=fuczen;
  36. przedmiot=fprzedmiot;
  37. ocena=document.getElementById(fdiv).value;
  38.  
  39.  
  40.  
  41. if (ocena=='') {ocena=0;}
  42.  
  43.  
  44. id_oceny=fid_oceny;
  45. div=fdiv;
  46. wpisujacy=fwpisujacy;
  47.  
  48.  
  49. zapisz_ocene();
  50.  
  51. }
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. function zapisz_ocene()
  62. {
  63.  
  64. if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  65. {
  66.  
  67. stat="quickstart.php?u=" + uczen + "&p=" + przedmiot + "&o=" + ocena + "&io=" + id_oceny + "&wp=" + wpisujacy;
  68.  
  69.  
  70. xmlHttp.open("GET", stat, true);
  71.  
  72. xmlHttp.onreadystatechange = handleServerResponse;
  73.  
  74. xmlHttp.send(null);
  75.  
  76. }
  77. else
  78.  
  79. setTimeout('zapisz_ocene()', 1000);
  80.  
  81. }
  82.  
  83.  
  84. function handleServerResponse()
  85. {
  86.  
  87. if (xmlHttp.readyState == 4)
  88. {
  89.  
  90. if (xmlHttp.status == 200)
  91. {
  92.  
  93. xmlResponse = xmlHttp.responseXML;
  94.  
  95. xmlDocumentElement = xmlResponse.documentElement;
  96.  
  97. helloMessage = xmlDocumentElement.firstChild.data;
  98.  
  99.  
  100.  
  101.  
  102.  
  103. //tutaj wpisać co ma zrobić po zapisaniu oceny - zostanie uzupełnione
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110. }
  111.  
  112. else
  113. {
  114. alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
  115. }
  116. }
  117. }
  118.  



W FF i operze informacja zawsze zostanie dodana do bazy, natomiast w IE raz się doda, a raz nie....


Prosze o pomoc

Ten post edytował adrian_n1987 1.11.2009, 13:12:32
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.08.2025 - 08:21