xml auslesen aus responseXML, alert funktioniert,sonst undefined
Justin
- javascript
0 Justin
hallo zusammen
ich bin jetzt schon eine knappe stunde dabei das internet nach einer lösung abzusuchen, jedoch finde ich gar nichts
ich habe in php über simple xml ein xml erstelt. dies erhalte ich auch korrekt , wenn ich nun auf die variable zugreife und ausgeben möchte, erhalte ich immer undefined
wenn ich aber die variable mit alert ausgebe, erhalte ich den korrekten wert
was muss ich machen damit der wert nicht mehr undefined ist?
hoffe wirklich ihr könnt mir helfen
var responseObjekt ;
var i ;
var auswahl;
var anzahl;
if (navigator.appName.search("Microsoft") > -1) {
//responseObjekt = new ActiveXObject("Microsoft.XMLHTTP") ;
responseObjekt = new ActiveXObject("MSXML2.XMLHTTP") ;
} else {
responseObjekt = new XMLHttpRequest() ;
} ;
function sendAjaxRequest () {
for (i=1;i<=7;i++) {
if (this.document.toplist.auswahl.options[i-1].selected && this.document.toplist.auswahl.options.selectedIndex != 0) {
auswahl = this.document.toplist.auswahl.options[i-1].value
auswahl = getEndung(auswahl);
responseObjekt.open ('get','ajax02toplist.php?ind='+auswahl, true) ;
responseObjekt.onreadystatechange = handleAjaxResponse ;
responseObjekt.send (null) ;
document.getElementById("request").innerHTML = "done" ;
break ;
} ;
} ;
function getEndung( str ) {
anzahl = str.split("Top ");
anzahl = anzahl.slice(1,2);
if ( anzahl.length == 0 ) {
return "";
} else {
return anzahl ;
}
}
} ;
function handleAjaxResponse () { //callbackfunktion
document.getElementById("response").innerHTML = responseObjekt.readyState ;
if (responseObjekt.readyState == 4) {
var meinxml = responseObjekt.responseXML;
var artist,songtitle,constributor,rank,single;
var tab = '<table><th>Single</th>'+
'<td>Titel</td>'+
'<td>Interpret</td>'+
'<td>Verlag</td>'+
'<td>Platzierung</td></tr>';
for(i=0;i<=meinxml.documentElement.getElementsByTagName("single").length;i++)
{
tab+= '<tr>';
single = meinxml.documentElement.childNodes[i];
songtitle = meinxml.getElementsByTagName("songtitle")[0].childNodes[i].nodeValue;
alert(songtitle);
artist = meinxml.getElementsByTagName("artist")[0].childNodes[i].nodeValue;
constributor = meinxml.getElementsByTagName("constributor")[0].childNodes[i].nodeValue;
rank = meinxml.getElementsByTagName("ranking")[0].childNodes[i].nodeValue;
tab += '<td>'+songtitle+'</td>';
tab += '<td>'+artist+'</td>';
tab += '<td>'+constributor+'</td>';
tab += '<td>'+rank+'</td>';
tab += '</tr>'
}
tab+= '</table>';
alert(tab);
//document.getElementById("hauptstadt").innerHTML = responseObjekt.responseText;
} ;
} ;
soeben gesehen dass ich die variable i und 0 vertauscht habe.
nun erhalte ich immer x alerts je nach übergabewert
jedoch bleibt das problem mit undefined bestehen