Avatar billede eikhorsholm Nybegynder
23. maj 2007 - 10:54 Der er 3 kommentarer

Optimer function og tilføj input.

Jeg har fundet denne kode på kirupa.com:

function loadXML(loaded) {
    if (loaded) {
        txt = this.firstChild.childNodes[0].childNodes[1].childNodes[2].firstChild.nodeValue;
        TxtField.text = txt;
    } else {
        trace("fejl");
    }
}
xmlData = new XML();
xmlData.onLoad = loadXML;
xmlData.load("data.xml");

-----

Er det muligt, at omskrive det hele til een funktion som tager en variabel med som input, som ændrer childNodes[0] til childNodes[i], så man kan bestemme hvilket barn der skal vælges fra xml-filen?
Og så man altså kan kalde funktionen igen og igen med forskellige input og dermed ændre data i tekstfeltet live?
Avatar billede _k Nybegynder
23. maj 2007 - 17:31 #1
Det ville da være dumt at smide det hele ned i een og samme funktion og loade XML-dokumentet igen og igen. Til gengæld har du da en pointe i at det kunne være smart at hente et specifikt child ud. Og det kan du gøre således:

function loadXML(loaded) {
    if (loaded) {
        setText(0);
    } else {
        trace("fejl");
    }
}
function setText(childNum:Number) {
  txt = this.firstChild.childNodes[childNum].childNodes[1].childNodes[2].firstChild.nodeValue;
        TxtField.text = txt;
}
xmlData = new XML();
xmlData.onLoad = loadXML;
xmlData.load("data.xml");

....efterfølgende kan du så bare kalde getChild(x); og dit tekstfelt bliver sat.
Avatar billede eikhorsholm Nybegynder
02. juni 2007 - 19:07 #2
Skal getChild ikke defineres som en funktion eller?
Avatar billede _k Nybegynder
02. juni 2007 - 22:23 #3
Jo da - den sidste linje i det overstående skulle have været "setText(x)" i stedet for "getChild(x)". Det er nemlig den funktion du skal referere til.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester