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