variablen einlesen

harrry

Erfahrenes Mitglied
Hallo!
Ich hätte da folgendes Problem: ich möchte verschiedene xml-dateien auf buttonklick laden, und das schaut bei mir so aus:
PHP:
var rubrik1 = "eins.xml"; 
   var rubrik2 = "zwei.xml";
   var rubrik3 = "drei.xml";
  rubrik = rubrik1
      
      mein_xml = new XML();
      mein_xml.ignoreWhite = true;
 mein_xml.load(rubrik);
So lädt er auch brav "Rubrik 1". Wenn ich aber nun auf einen Button den Befehl lege:
PHP:
on (release) {
      	this.rubrik = rubrik2;
      }
...dann lädt er leider nicht meine "zwei.xml". Was mach ich falsch?
 
Hm er muss es doch jetzt noch mal laden...
Probier es vielleicht mit einer Funktion:
PHP:
var rubrik1 = "eins.xml"; 
var rubrik2 = "zwei.xml";
var rubrik3 = "drei.xml";

function bla(rubrik) {  
      mein_xml = new XML();
      mein_xml.ignoreWhite = true;
      mein_xml.load(rubrik);  
}

Und auf dem Button dann einfach

PHP:
on (release) {
    bla(rubrik2);
}

Ich hoff ich hab jetzt keinen Denkfehler eingebaut, habs nur so schnell schnell getippt :/
 
Zuletzt bearbeitet:
Der Code von harry ist soweit korrekt.

Allerdings darfst Du entweder das XML-Objekt nicht neu in der Funktion bla definieren, oder Du musst den onLoad-Handler auch dort erstellen.

Mein Vorschlag:
Code:
var xm = new XML();
xm.ignoreWhite = true;

xm.onLoad = function() {
    // hier Dein Handler
}

var rubriken = new Array("eins.xml", "zwei.xml", "drei.xml");

function ladeRubrik(str) {
    xm.load(str);
}

// auf den Buttons dann:
on (release) {
    _root.ladeRubrik(_root.rubriken[0]); // lädt die erste Datei
}

Gruß
.
 
Habs genau so versucht, aber noch ist der Hund drin. Anbei mal die Testdateien... die xml-Aufrufe sind im mc "nav".
Vielen herzlichen Dank für die Hilfe!
 

Anhänge

So sloppy! Aber jetzt lädt zumindest die erste Rubrik. Aber die anderen beiden Buttons sind tot. Schon wieder was übersehen? Bin ratlos...
 
Wenn Du das Objekt auch löschst:
Code:
mein_xml.onLoad = function(status) {
	if (status) {
		content_xml = mein_xml.firstChild.childNodes;
		delete mein_xml;
		initNavigation();
		setListe();
		ersterContent();
	}
};
, kannst Du natürlich auch nichts mehr reinladen. :p

Gruß
.
 
Zurück