Maciej W.

Maciej W. a czy ty masz swój
ręcznik?...

Temat: kolejna niezgodność IE - pomocy

jak zwykle działanie na IE wymaga większej wiedz i doświadczenia niż ja posiadam... no i potrzebuję pomoce

a mianowicie - mam sobie prosty formularzyk z dwoma selectami. Z pierwszego coś wybieramy i wówczas na podstawie tego co wybraliśmy uzupełniają się opcje w drugim. Niby proste, ale jednak nie do końca.

Na mozilli działa przepięknie - a na IE nie chce...:(

Kod wygląda tak:



<select name="kategoria1" onchange="laduj(this);" >
<option value="0">Wybierz</option>
<option value="1" >kat 1</option>

<option value="2" >kat 2</option>
<option value="3" >kat 3</option>
</SELECT>

<select name="kategoria2" id="kategoria2" >



a teraz to co mam w funkcji laduj:



function laduj(fo)
{
var id = fo.options[fo.selectedIndex].value;
var zrodlo = 'check/verify.php?type=kategorie&wart='+id;
if(ObiektXMLHttp)
{
ObiektXMLHttp.open("GET", zrodlo);
ObiektXMLHttp.onreadystatechange = function()
{
if (ObiektXMLHttp.readyState == (1 || 0))
{
document.getElementById('kategoria2').innerHTML = "Ładuje...";
}
if (ObiektXMLHttp.readyState == 4)
{
//alert(ObiektXMLHttp.responseText);
document.getElementById('kategoria2').innerHTML = ObiektXMLHttp.responseText;
}
if (ObiektXMLHttp.readyState != (1 || 0 || 4))
{
}
}
ObiektXMLHttp.send(null);
}
}




to co mi zwraca verify to jest

<option value=100>coś tam</option>
<option value=103>coś tam</option>
<option value=105>coś tam</option>


no i teraz pytanie - co znów trzeba do cholery zrobić aby na IE działało

z podziękowaniami za pomoc

MMaciej Wróbel edytował(a) ten post dnia 03.02.09 o godzinie 17:28

konto usunięte

Temat: kolejna niezgodność IE - pomocy

Wrzuć selecta w dodatkowego DIVa i zmieniaj całego selecta, nie tylko opcje w nim.

IE nie pozwala chwycić za element select i mieszać w nim. Dlatego ta operacja z DIVem potrzebna.

konto usunięte

Temat: kolejna niezgodność IE - pomocy

IE keszuje laczenie sie ze skryptami ajaksowo.

dodaj dodatkowy parametr, cos na ksztalt:

var iTemp = Math.round(9999);

potem laczac sie ze skryptem dodaj te zmienna do wartosci przesylanych ajaksem.
Przemysław Rumik

Przemysław Rumik kodowanie to moja
specjalność ;-)

Temat: kolejna niezgodność IE - pomocy

Wojciech Zbigniew Piotrowicz:
IE keszuje laczenie sie ze skryptami ajaksowo.

dodaj dodatkowy parametr, cos na ksztalt:

var iTemp = Math.round(9999);

potem laczac sie ze skryptem dodaj te zmienna do wartosci przesylanych ajaksem.

A może by tak po bożemu? Zmienić GET w POST, albo zmusić serwer do tego by w nagłówkach mówił przeglądarce, że ma nie cache'ować danego zasobu.

konto usunięte

Temat: kolejna niezgodność IE - pomocy

Nie tędy droga.

W bliźniaczym temacie padło wyjaśnienie dlaczego potrzebny jest dodatkowy DIV:
http://www.goldenline.pl/forum/programisci-www/729150/...
Maciej W.

Maciej W. a czy ty masz swój
ręcznik?...

Temat: kolejna niezgodność IE - pomocy

dzięki wszystkim

pomogło

Następna dyskusja:

Kolejna nowelizacja ustawy PZP




Wyślij zaproszenie do