Witam. Zacząłem uczyć się ajaxa i mam problem, nie wiem w którym miejscu zrobiłem błąd. Strona ma pokazywać informacje z pliku xml po kliknięciu + i chować po naciśnięciu -:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<script type="text/javascript">
function getXMLHttpRequest()
{
var request = false;
try {
request = new XMLHttpRequest();
} catch(err1) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch(err2) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch(err3) {
request = false;
}
}
}
return request;
}
var r;
r = getXMLHttpRequest();
var opis= new Array(20);
opis[0] = 'tytul';
opis[1] = 'rok';
opis[2] = 'rezyser';
var element;
function processResponse()
{
if (r.readyState == 4) {
if (r.status == 200) {
var x = r.responseXML.getElementsByTagName('film')[0].childNodes;
var tmp = '';
for (i = 1; i < x.length; i++) {
tmp = tmp
+ '<strong>' + opis[i] + ':</strong> '
+ x[i].childNodes[0].nodeValue
+ '<br />';
}
element.innerHTML = tmp;
};
}
}
function expandCollapse(Id, Numer)
{
element = Id.parentNode.parentNode.childNodes[1];
if (element.style.display == 'block') {
element.style.display = 'none';
Id.innerHTML = '+';
} else {
element.style.display = 'block';
Id.innerHTML = '-';
r.open('GET', 'dane-xml/' + Numer + '.xml', true);
r.onreadystatechange = processResponse;
r.send(null);
}
}
</script>
</head>
<body>
<div class="tresc"><h3><a href="#" onclick="expandCollapse(this, 1);">+</a>Zielona Mila</h3><div></div></div>
<div class="tresc"><h3><a href="#" onclick="expandCollapse(this, 2);">+</a>Pulp Fiction</h3><div></div></div>
<div class="tresc"><h3><a href="#" onclick="expandCollapse(this, 3);">+</a>Ojciec Chrzestny</h3><div></div></div>
</body>
</html>
Pliki xml w takim formacie:
<?xml version="1.0" encoding="utf-8"?>
<film>
<tytul>Zielona Mila</tytul>
<rok>1999</rok>
<rezyser>Frank Darabont</rezyser>
</film>
Po kliknięciu + znak zmienia się na -, ale nie pokazuje danych.
Uczę się z tego kursu: http://gajdaw.pl/ajax/wprowadzenie/p6.html#P6-3 (na podobny przykład tylko jako baza aparatów, a nie filmów)
Pliki xml zapisane jako 1.xml, 2.xml, 3.xml w folderze dane-xml. Plik html w tym folderze co dane-xml.