co do problemu to tak jak w temacie, mam kawalek kodu, checboxy beda w nim generowane za pomoca php, i kazdy bedzie mial inne id (202 w tym przypadku) ktore jest przekazywane do funkcji process jako parametr
oraz mam plik "plik.js" o zawartosci
var xmlHttp = createXmlHttpRequestObject(); // zwraca obiekt XMLHttpRequest function createXmlHttpRequestObject() { // przechowa odwołanie do obiektu XMLHttpRequest var xmlHttp; // jeśli uruchomiony jest Internet Explorer if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlHttp = false; } } // jeśli uruchomiona jest Mozilla lub inne przeglądarki else { try { xmlHttp = new XMLHttpRequest(); } catch (e) { xmlHttp = false; } } // zwraca utworzony obiekt lub wyświetla komunikat o błędzie if (!xmlHttp) alert("Błąd podczas tworzenia obiektu XMLHttpRequest."); else return xmlHttp; } function process(zam_id) { if (xmlHttp.readyState ==4 || xmlHttp.readyState ==0) { xmlHttp.open("GET", "http://.../plik.php?zam_id=" + zam_id, true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else { setTimeout('process(' + zam_id + ')', 1000); } } function handleServerResponse() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { setTimeout('process("202")', 1000); } else { alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText); } } }
jest to praktycznie przepisany kawalek kodu z ksiazki...
po za tym mam plik "php" na serwerze, ktorego zadaniem jest zmiana statusu klikniętego checkboxa (czyli jesli ktos kliknie checkboxa o id 202, php aktualizuje rekord w bazie o id 202 - ustawia mu znacznik
nie interesują mnie wyniki czy udalo sie ustawic ten znacznik czy nie, jade w ciemno...
problem polega na tym ze ten kod dziala tylko i wyłącznie pod IE, oraz co najgorsze tylko za pierwszym kliknięciem, czyli jesli strona zaladuje sie pod IE, i kliknę tego checkboxa to rekord w bazie sie zaktualizuje, ale jak kliknę drugi raz to nic sie nie dzieje... any idea?