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')"/>
var xmlHttp = createXmlHttpRequestObject(); var uczen; var przedmiot; var ocena; var id_oceny; var div; function createXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } function zapisz(fuczen,fprzedmiot,fwpisujacy,fdiv,fid_oceny) { uczen=fuczen; przedmiot=fprzedmiot; ocena=document.getElementById(fdiv).value; if (ocena=='') {ocena=0;} id_oceny=fid_oceny; div=fdiv; wpisujacy=fwpisujacy; zapisz_ocene(); } function zapisz_ocene() { if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { stat="quickstart.php?u=" + uczen + "&p=" + przedmiot + "&o=" + ocena + "&io=" + id_oceny + "&wp=" + wpisujacy; xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else setTimeout('zapisz_ocene()', 1000); } function handleServerResponse() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; helloMessage = xmlDocumentElement.firstChild.data; //tutaj wpisać co ma zrobić po zapisaniu oceny - zostanie uzupełnione } else { alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText); } } }
W FF i operze informacja zawsze zostanie dodana do bazy, natomiast w IE raz się doda, a raz nie....
Prosze o pomoc