Hallo zusammen
Ich steh wieder mal im Wald - und wieder wegen eines vermeindlich simplen Problems.
Ich habe ein .js, welches auf ein xml zugreift und den Inhalt ausgibt.
Das Ding wird per event-handler aufgerufen. Unten seht ihr, dass die Ausgabe-Funktion in einer <ul> ein <li> und schliesslich ein <a> kreiert.
Nun mein Problem: Wiederholtes drücken auf den Link, der die Funktion aufruft, führt logischerweise zu wiederholten -und redundanten- Einträgen in meiner <ul>. Das will ich nun verhindern.
Versucht hab ich bereits einiges, jedoch ohne Erfolg. Ein Ansatz war, abzufragen, ob die <ul> leer ist oder nicht. dazu schrieb ich folgende Zeile:
Hab aber den Eindruck, dass das Schrott ist.
Hat jemand eine Idee?
Danke und Gruss
Ich steh wieder mal im Wald - und wieder wegen eines vermeindlich simplen Problems.
Ich habe ein .js, welches auf ein xml zugreift und den Inhalt ausgibt.
Das Ding wird per event-handler aufgerufen. Unten seht ihr, dass die Ausgabe-Funktion in einer <ul> ein <li> und schliesslich ein <a> kreiert.
Code:
[...verbinden etc....]
function ausgeben() {
var naviId = 2;
if (http.readyState == 4) {
var liste = document.getElementById("navi_" + naviId);
var daten = http.responseXML;
var ergebnisse = daten.getElementsByTagName("link_" + linkId);
for (var i = 0; i < ergebnisse.length; i++) {
var name, url, evt;
var datum = ergebnisse[i];
for (var j = 0; j < datum.childNodes.length; j++) {
with (datum.childNodes[j]) {
if (nodeName == "Name") {
name = firstChild.nodeValue;
} else if (nodeName == "Link") {
url = firstChild.nodeValue;
} else if (nodeName == "event") {
evt = firstChild.nodeValue;
}
}
}
var li = document.createElement("li");
var a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("onclick", evt);
var txt = document.createTextNode(name);
a.appendChild(txt);
li.appendChild(a);
liste.appendChild(li);
}
}
}
Nun mein Problem: Wiederholtes drücken auf den Link, der die Funktion aufruft, führt logischerweise zu wiederholten -und redundanten- Einträgen in meiner <ul>. Das will ich nun verhindern.
Versucht hab ich bereits einiges, jedoch ohne Erfolg. Ein Ansatz war, abzufragen, ob die <ul> leer ist oder nicht. dazu schrieb ich folgende Zeile:
Code:
if (document.getElementById("navi_" + naviId).innerHTML = null;)
{ ...führ die Funktion aus... }
Hat jemand eine Idee?
Danke und Gruss
Zuletzt bearbeitet: