Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ajax i IE
Forum PHP.pl > Forum > XML, AJAX > AJAX
linuxoida
Witam,

Mam takie pytanie ponieważ, jak wiecie IE wyświetla niektóre elementy lub i ich nie wyświetla. Mi o to, że Firefox, Opera oraz Safari wyświetlają zapytanie bez problemu, ale IE Jak zwykle ma to w d...
Czy ktoś może mi pomóc, ponieważ wyświetla błąd w linii 31 tego kodu:
  1. var http = false;
  2. if(window.XMLHttpRequest)
  3. {
  4. http = new XMLHttpRequest();
  5. }else if(window.ActiveXObject)
  6. {
  7. http = new ActiveXObject("Msxml2.XMLHTTP");
  8. if(!http)
  9. {
  10. http = new ActiveXObject("Microstft.XMLHTTP");
  11. }
  12. }
  13. function a()
  14. {
  15. http.open("GET","kalendarz.php?miesiac=Maj&rok=2009", true);
  16. http.onreadystatechange = calendarhtml;
  17. http.send(null);
  18. }
  19. function b(form)
  20. {
  21. var month = form.miesiac.options[form.miesiac.selectedIndex].text;
  22. http.open("GET","kalendarz.php?miesiac="+month+"&rok="+2009, true);
  23. http.onreadystatechange = calendarhtml;
  24. http.send(null);
  25. }
  26. function calendarhtml()
  27. {
  28. if(http.readyState == 4 && http.status==200)
  29. {
  30. document.getElementById('cal').innerHTML=http.responseText; //a dokładnie to tu
  31. }
  32. }


a kod html to:
  1. <div id="szukaj">
  2. <form action="kalendarz.php" method="get" id="form_connect">
  3. <label>Z:</label> <input type="text" name="from" value="" />
  4. <br />
  5. <br />
  6. <label>Do:</label> <input type="text" name="data" value="" />
  7. <br />
  8. <br />
  9. <input type="text" name="data" value="" />&nbsp;&nbsp;&nbsp;<a href="" onclick="a(); return false;">kalendarz</a><span id="cal"></span>
  10. <br />
  11. <input type="radio" name="radio" value="odjazd" /> odjazd <input type="radio" name="radio" value="przyjazd" /> przyjazd
  12. <br />
  13. <br />
  14. <br /><input type="submit" name="wykonaj" value="szukaj" />
  15. <br />
  16. </form>
  17. </div>


Z góry dzięki
Pozdrawiam
Lejto
zobacz tak
[code]
document.getElementById("cal").innerHTML=http.responseText; //a dokładnie to tu
[code]
paziek
  1. <?php
  2. function xhttpRequest() {
  3.    var httpRequest;
  4.    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
  5.        httpRequest = new XMLHttpRequest();
  6.    } else if (window.ActiveXObject) { // IE
  7.        var progIDs = [ 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
  8.        for (var i = 0; i < progIDs.length; i++) {
  9.            try {
  10.                return new ActiveXObject(progIDs[i]);
  11.            }
  12.            catch (e) {
  13.            }
  14.        }
  15.    }
  16.    if (!httpRequest) {
  17.        return false;
  18.    }
  19.    return httpRequest;
  20. }
  21. ?>


Spróbuj takim.
linuxoida
przykro mi ale nie działa mi nic:(

chodzi mi o to, że nie wiem dlaczego, ale alert przekazuje mi w IE a document.getElementById("calendar").innerHTML=http.responseText; nie chce
  1. function calendarhtml()
  2. {
  3. if(http.readyState == 4 && http.status==200)
  4. {
  5. document.getElementById("cal").innerHTML=http.responseText;
  6. alert("git");
  7. }
  8. }

wszytkie potrzebne ActiveXObject są dodane. Inne przeglądarki nie mają z tym najmniejszego problemu.
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.