Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AJAX - nieprawidłowe działanie w IE (działa w FF, opera)
Forum PHP.pl > Forum > XML, AJAX > AJAX
adrian_n1987
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
erix
Wystaw gdzieś to na żywo.
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.