Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczne selecty, pod FF dziala pod IE nie ;/
Arrow
post 25.04.2006, 10:04:26
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.05.2003

Ostrzeżenie: (0%)
-----


witam,

troszke braklo mi juz pomyslow jak rozwiazac ten problem, prosta funkcja js+advAJAX:
Kod
function miasta(i) {
advAJAX.setDefaultParameters({
onInitialization : function(obj) {document.getElementById(obj.tag).innerHTML = "Przygotowanie...";},
onLoading : function(obj) { document.getElementById(obj.tag).innerHTML = "Ładowanie danych..."; },
onSuccess : function(obj) { document.getElementById(obj.tag).innerHTML = obj.responseText +"&nbsp;<img src=\"grafika/dodaj.gif\" border=\"0\ align=\center\">"; },
onError : function(obj) { document.getElementById(obj.tag).innerHTML = "Błąd..."; }
});
advAJAX.get({ url: "php/ajax/miasta.php?id_w="+i, tag: "miasta" });
advAJAX.setDefaultParameters({});
}


select z wojewodztwami:
  1. <select name="wojewodztwa" onchange="miasta(this.value);">
  2. <option value="0">Wybierz wojewodztwo</option>
  3. <option value="2" onclick="miasta(this.value);">Podkarpackie</option>
  4. <option value="1" onclick="miasta(this.value);">Wielkopolskie</option></select>


no i w ff wszystko gra, w IE owsze za pierwszym razem zostaje wygenerowany select z odpowiednimi miastami, natomiast w razie zmiany wojewodztwa juz nie (zdzarzenie onclick nie dziala)

Ten post edytował Arrow 25.04.2006, 10:04:51


--------------------
Pozdrawiam Bartosz
Go to the top of the page
+Quote Post
TomASS
post 25.04.2006, 10:33:22
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Tutaj masz przykład.

I zamiast onClick daj onChange na całego SELECTA:
  1. <select name="wojewodztwa" id="wojewodztwa" onchange="getRecords();">


--------------------
Go to the top of the page
+Quote Post
Arrow
post 25.04.2006, 11:01:29
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 5.05.2003

Ostrzeżenie: (0%)
-----


witam,

dzieki za odpowiedz smile.gif

onChange juz jest od poczatku bylo, onClick dodalem poniewaz z niewadomych mi przyczyn onChange dzialalo ale raz pozniejsze zmiany wojewodztwa nie powodowaly wczytania nowych miast

problem jest tylko w IE, a niestety aplikacja bedzie obslugiwana glownie z tej przegladarki, nie chce rezygnowac z ajaxa

nic przeczytam Twoj post moze mi sie cos urodzi smile.gif

IE genreuje blad - Obiekt nie obsluguje tej wlasciwosci lub metody
Linia 184 wiersz 1 -
  1. <select name="wojewodztwa" id="wojewodztwa" onchange="miasta();">


---------------------------------------------------------------------------------------------------
Problem rozwiazany uf smile.gif, okazuje sie, ze chodzilo o to, ze odpowiedz byla generowana ze znacznikiem <selec> i to wszytsko blokowalo w IE aaevil.gif oto kompletny kod:

  1. function $(id)
  2. {
  3.  return document.getElementById(id);
  4. }
  5.  
  6.  
  7. function miasta()
  8. {
  9.  advAJAX.get({
  10.    url: "php/ajax/miasta.php?id_w="+$("wojewodztwa").value,
  11.    tag: "miasta",
  12.    onInitialization : function(obj) {$(obj.tag).innerHTML = "Przygotowanie..."; $("wojewodztwa").disabled = true;},
  13.    onLoading : function(obj) {$(obj.tag).innerHTML = "Ładowanie danych...";},
  14.    onSuccess : function(obj) {$(obj.tag).innerHTML = "<select id=\"m\" name=\"miastaa\">"+obj.responseText +"</select>&nbsp;<img src=\"grafika/dodaj.gif\" border=\"0\ align=\center\">"; $("wojewodztwa").disabled = false;},
  15.    onError : function(obj) {$(obj.tag).innerHTML = "Błąd..."; }
  16.  });
  17. }

jak widac rozwiazalem to w soposb taki ze odpowiedz jest wklejana miedzy znaczniki <select> a nie generowana z nimi

no w sumie IE i tak wyrzuca bledy js ale to moze nastepny razem zrobie ... winksmiley.jpg

Ten post edytował Arrow 26.04.2006, 11:25:12


--------------------
Pozdrawiam Bartosz
Go to the top of the page
+Quote Post
TomASS
post 26.04.2006, 23:29:56
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Czyli jak dobrze rozumiem w obj.responseText dostajesz ileś tam optionów?
<option>Wrocław</option>
<option>Legnica</option>
<option>Opole</option>
?
Przecierz możesz użyć:
Kod
new Option(nazwa[i],ID[i]);

Polecam tą [quirks mode] stronkę.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 23:27