AJAX probléma - select feltöltés nem megy IE alatt
Most kezdtem ele az AJAX-ot nézegetni és első nekirugaszkodásként megpróbálkoztam egy másik select-től függő select-box feltöltésével.
A gond annyi, hogy FF-ben rendben működik, de IE-ben "ismeretlen futásidejű hiba" üzenetet ad.
a kód:a feltöltendő select:Hol lehet a hiba, ami miatt nem megy IE-ben?
Előre is köszönöm a segítséget.
laci
■ A gond annyi, hogy FF-ben rendben működik, de IE-ben "ismeretlen futásidejű hiba" üzenetet ad.
a kód:
var url = "ajax_hajo.php?beszallito_id=";
function handleHttpResponse()
{
if (http.readyState == 4)
{
if (http.responseText.indexOf('invalid') == -1)
{
var out_text = '';
var xmlDocument = http.responseXML;
x = xmlDocument.documentElement.childNodes;
for(var i=0; i< x.length; i++)
{
out_text += '<option value="' + xmlDocument.getElementsByTagName('value').item(i).firstChild.nodeValue
+ '"'
+ xmlDocument.getElementsByTagName('selected').item(i).firstChild.nodeValue
+ '>'
+ xmlDocument.getElementsByTagName('option').item(i).firstChild.nodeValue
+ '</option>';
}
document.getElementById('kategoria_id').innerHTML = out_text;
isWorking = false;
}
}
}
var isWorking = false;
function liste_load()
{
if (!isWorking && http)
{
var beszallito_id = document.getElementById("beszallito_id").value;
http.open("GET", url + escape(beszallito_id), true);
http.onreadystatechange = handleHttpResponse;
isWorking = true;
http.send(null);
}
}
function getHTTPObject() {
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
if(xmlhttp)
{
alert('FF http objektum OK');
}
}
// code for IE
else if (window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
if(xmlhttp)
{
alert('IE http objektum OK');
}
}
return xmlhttp;
}
var http = getHTTPObject();
<select name="kategoria_id" id="kategoria_id">
</select>
Előre is köszönöm a segítséget.
laci
new Option()?
Én a szövegösszefűzögetés helyett az opciókat szépen feltölteném a new Option(text, value) javascriptes utasítássall, bár ajaxos hibát tesztkörnyezet nélkül nehéz debuggolni.
Bövebb infó a new Option használatáról például itt: http://www.experts-exchange.com/Web/Web_Languages/Q_20916437.html
Talán értelmesebb hibaüzenetet kapsz, ha bekapcsolod a Microsoft Script Debuggert (ha nincs telepítve, a microsoft-tól le lehet tölteni ingyen), bár a firebugtól elég messze van...
És talán a protoype-ot is érdemes lenne kipróbálnod: http://prototype.conio.net/, már magyar doksi is van hozzá.
Barna
Ajax
http://prototype.conio.net/
http://xkr.us/code/javascript/XHConn/
http://microformats.org/wiki/rest/ahah
Százmilliószor jobban jársz, mintha a onreadystatechange-ekkel bírkóznál.
Gyulus
xml
En JSON-t hasznalok az adatkommunikaciora. Az megy mindket "nagy" bongeszo alatt. Valamint az IE meg az adatacsere karakterkodolasaban kulonbozik az FF-tol. utf-vs-megadott tipus.
Szerintem nem baj ha sajat ajax fv-eket hasznal az ember. Nem nagy kunszt. Minek toltsek be egy tobb szaz k-s libraryt 20-30 sor javascriptert....
tobb szaz k-s library?
Az XHConn.js az negyven rövid sor, az ahah.js pedig hamincegy.
A prototype.js-nek pedig csak egy darabja az Ajax-os rész, és még így sem éri el az 50 KB-ot.
Az xml-es megoldás megy IE alatt.
Gyulus
köszi
A hiba valahol tutira ebben a kódrészletben van.
Na mindegy, bújom a tutoriálokat, de ha valakinek ötlete van, köszönettel veszem.
Laci
ie innerHTML bug
üdv t