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

  • tryout.zip
    44,4 KB · Aufrufe: 12
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