javascript ajax xml, första värdet blir undefined
Jag har skapat en meny där valet bestämmer vilken xml-fil som ska läsas in.
Rätt xml-fil läses in men första värdet blir undefined.
Varför och hur gör man för att undvika att det sker.
<main>
<form class="headform">
<select id="landscapeMenu">
<option>Välj län</option>
<option value="blekinge">Blekinge</option>
<option value="dalarna">Dalarna</option>
<option value="gotland">Gotland</option>
<option value="gavleborg">Gävleborg</option>
<option value="halland">Halland</option>
<option value="jamtland">Jämtland</option>
<option value="jonkoping">Jönköping</option>
<option value="kalmar">Kalmar</option>
<option value="kronoberg">Kronoberg</option>
<option value="norrbotten">Norrbotten</option>
<option value="skane">Skåne</option>
<option value="stockholm">Stockholm</option>
<option value="sodermanland">Södermanland</option>
<option value="uppsala">Uppsala</option>
<option value="varmland">Värmland</option>
<option value="vasterbotten">Västerbotten</option>
<option value="vasternorrland">Västernorrland</option>
<optino value="vastermanland">Västermanland</option>
<option value="vastragotaland">Västra götaland</option>
<option value="orebro">Örebro</option>
<option value="ostergotland">Östergötland</option>
</select>
<div id="cityresult"></div>
</main>
var landscapeMenuElem;
var cityResultElem;
function init() {
landscapeMenuElem = document.getElementById("landscapeMenu");
cityResultElem = document.getElementById("cityresult");
addListener(landscapeMenuElem, "change", selectLandscape);
}
addListener(window,"load",init);
function selectLandscape() {
var landscape;
landscape = this.value;
requestLandscapeData(landscape);
}
function requestLandscapeData(landscape) {
var request;
if(XMLHttpRequest) { request = new XMLHttpRequest(); }
else if (ActiveXObject) { request = new ActiveXObject("Microsoft.XMLHTTP"); }
else { alert("Tyvärr inget stöd för AJAX, så data kan inte läsas in"); return false; }
request.open("GET", "xml/town/" + landscape + ".xml", true);
request.send(null);
request.onreadystatechange = function() {
if(request.readyState == 4 || request.readyState == "complete")
if(request.status == 200) getDataLandscape(request.responseXML);
else landscapeElem.innerHTML = "Den begärda resursen finns inte";
};
}
function getDataLandscape(XMLcode) {
var cityElems;
var nameElem;
var i;
var HTMLcode;
cityElems = XMLcode.getElementsByTagName("city");
for (i=0; i<cityElems.length; i++) {
type = cityElems[i].getAttribute("type");
nameElem = cityElems[i].getElementsByTagName("name")[0];
HTMLcode += nameElem.firstChild.data + "<br>";
}
cityResultElem.innerHTML = HTMLcode;
}