Dopiero zaczynam naukę AJAXa a za żadne skarby nie potrafię namierzyć błędu dlaczego nie chce mi otwierać dokumentów XML. Mam nadzieję że znajdzie się ktoś i wskaże mi co robię nie tak.
Otóż jest to dość prosty skrypt.
Zasada jego działania jest taka:
w skrypcie options.php jest przechowywany dokument XML z odpowiednimi kolorami:
<?php if($_GET["sheme"]=="1"){ } if($GET["sheme"]=="2"){ } foreach($options as $value){ } ?>
w pliku options.html wyświetlane są 2 przyciski które w zależności od wybranej opcji do listy rozwijanej dodają odpowiednie kolory:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <meta http-equiv="Content-Language" content="pl" /> </head> <body> <form action=""> <select name="" size="1" id="optionList" onchange="setOption()"> </select> <input type="button" value="schemat1" onclick="getOptions('1')"> <input type="button" value="schemat2" onclick="getOptions('2')"> </form> <!-- To jest miejsce na treść dokumentu --> </body> </html>
a to jest skrypt js który teoretycznie powinien to wszystko obsłóżyc:
var XMLHttpRequestObject = false; if(window.XMLHttpRequest){ XMLHttpRequestObject = new XMLHttpRequest(); } else if (window.ActiveXObject){ XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); } var options; function getOptions(scheme){ var url = "options2.php?scheme"+scheme; if(XMLHttpRequestObject){ XMLHttpRequestObject.open("GET",url,true); XMLHttpRequestObject.onreadystatechange = function(){ if(XMLHttpRequestObject.readystate == 4 && XMLHttpRequestObject.status == 200){ var xmlDocument = XMLHttpRequestObject.responseXML; options = xmlDocument.getElementsByTagName("option"); listOptions(); } } XMLHttpRequestObject.send(null); } } function listOptions(){ var i; var selectControl = document.getElementById('optionList'); for(i=0;i<options.length;i++){ selectControl.options[i] = new Option(option[i].firstChild.data()); } } function setOption(){ document.getElementById('targetDiv').style.color = options[document.getElementById('optionList').selectedIndex].firstChild.data; }
Problem polega na tym że nie pojawiają mi się w liście rozwijanej kolory mimo iż wybieram schemat 1 lub 2.
Będę bardzo wdzięczny za pomoc gdyby ktoś mi wskazał co robię nie tak.
Pozdrawiam i z góry dziękuję