Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX][JavaScript]innerHTML i <select>
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Nadałem taki temat dlatego, że prawdopodobnie z tym skrypt może mieć problem... oczywiście tylko w IE
  1.  
  2. function getData(divID) {
  3.  
  4.  
  5. var si = document.wyslijf.nazwa.selectedIndex;
  6. var fname = document.wyslijf.nazwa.options[si].value;
  7.  
  8. var divID = document.getElementById(divID);
  9. if (XMLHttpRequestObject) {
  10. XMLHttpRequestObject.open("POST", "plik2.php");
  11. XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  12.  
  13. XMLHttpRequestObject.onreadystatechange = function ()
  14. {
  15. if (XMLHttpRequestObject.readyState == 4)
  16. {
  17. divID.innerHTML = XMLHttpRequestObject.responseText;
  18. }
  19. }
  20. XMLHttpRequestObject.send('mojobiekt=' + escape(fname));}
  21. }


glowny.php
  1. $zapytanie = "SELECT * FROM aaaa";
  2. $idzapytania = mysql_query($zapytanie);
  3. ?>
  4. <br>
  5. <select name="nazwa" size="10" onchange="getData('tap');">
  6. <?
  7. while ($wiersz2 = mysql_fetch_row($idzapytania101))
  8. {
  9. ?>
  10. <option value="<?echo $wiersz2[0];?>"><?echo $wiersz2[1]; ?></option>
  11. <?
  12.  
  13. }
  14. echo '</select>';
  15. echo '</div>';
  16. echo '<div id="tap"></div>';
  17. echo '</div>';


plik2.php
  1. $obiekt=$_POST['mojobiekt'];
  2. $zapytanie = "SELECT * FROM `bbbb` where a=$obiekt";
  3. $idzapytania = mysql_query($zapytanie);
  4. ?>
  5. <form>
  6. <select name="nazwa1" size="10">
  7. <?
  8. while ($wiersz2 = mysql_fetch_row($idzapytania))
  9. {
  10. ?>
  11. <option value="<?echo $wiersz2[0]?>"><?echo $wiersz2[1];?></option>


-------------------------------------------------------------------------------------------------
Czy to IE wszędzie musi mieć jakieś problemy...
nospor
Cytat
Czy to IE wszędzie musi mieć jakieś problemy...
A czy ci początkujący zawsze muszą nie podawać czym objawia się problem?
neo1986kk
hehe zawsze:P

objawy sa takie że wyskakuje konsola błędów i pojawia się napis ze nieznany błąd jest w linijce 17 znak 1 czyli


divID.innerHTML = XMLHttpRequestObject.responseText;
} - tu

ale zrobiłem taki myk, że zamiast
  1. divID.innerHTML = XMLHttpRequestObject.responseText;


wstawilem

coś w stylu alert(XMLHttpRequestObject.responseText) już dokladnie nie pamietam

w kazdym razie plik2.php pokazał mi się w tym alercie a DIVie nie chce, a na FF śmiga.
thek
Niestety IE nie wie co to XMLhttpRequestObject. Dla IE stosuje się inna składnię wywołania AJAX. Radzę nieco poczytać o tym smile.gif
neo1986kk
jeśli chodzi Ci o
  1. var XMLHttpRequestObject = false;
  2. if (window.XMLHttpRequest) {
  3. XMLHttpRequestObject = new XMLHttpRequest ();
  4. } else if (window.ActiveXObject) {
  5. XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
  6. XMLHttpRequestObject = new ActiveXObject("Msxml2.XMLHttp")
  7. }


To oczywiście jest to ustawione:) i mimo wszystko nie działa...

Ja ma do was przy okazji takie pytanie...

Czy ktoś czyta jak są długie posty, a raczej dlugie kody, bo ja zawsze wrzucam kawałkami i prawdopodobnie to może być też mój błąd, bo myślę że gdybym wrzucił cały kod to byście się odrazu domyślili co jest nie tak. To tak na przyszłość...

A teraz chcę wam powiedzieć co było źle i wcale to nie był kod JS, czy nawet moja niewiedza i nieznajomość AJAXa.
Nie był to nawet błąd zapisu <div>.

miałem wszystko pod jednym <form name="a"></form name="a">, już z braku laku zrobiłem to w ten sposób

było tak
<form name="a">
formularz....
formularz....
formularz....
FORMULARZ DZIAŁAJĄCY Z AJAXEM
formularz....
formularz....
formularz....
</form>

i to na FF bez problemu chodziło.

a teraz jest tak:

<form name="a">
formularz....
formularz....
formularz....
<form name="b">
FORMULARZ DZIAŁAJĄCY Z AJAXEM
</form>
formularz....
formularz....
formularz....
</form>

Oczywiście musialem zmienić w JS document.a na document.b , ale teraz śmiga na IE i na FF... W każdym razie jestem wdzięczny, że ktoś się tym zainteresował...
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.