Avatar billede emileej Nybegynder
17. november 2000 - 09:51 Der er 5 kommentarer og
1 løsning

Hvorfor virker det ikke?

function NytLevelArr(){
    document.all.Data.innerHTML+=\"1: create NytLevelArr.<br>\";
    this.Count=-1;
    this.Arr=[];
    return this;
}

function AddLevel(LevelArr,Level){
    document.all.Data.innerHTML+=\"2: AddLevel \'\"+Level+\"\'.<br>\";
    if(LevelArr.Count>-1){
        this.Count=LevelArr.Count+1;
        this.Arr=new Array(this.Count);
        var i=0;
        while(i<=LevelArr.Count){
            this.Arr[i]=LevelArr.Arr[i];
            i++;
        }
        this.Arr[this.Count]=NyLevel(Level);
    }else{
        this.Arr=[NyLevel(Level)];
        this.Count=0;
    }
    return this;
}

function NyLevel(LevelFil){
    document.all.Data.innerHTML+=\"3: create NyLevel \'\"+LevelFil+\"\'.<br>\";
    this.Fil=LevelFil;
    return this;
}

function init(){
    var i=0;
    window.onerror=Fejl;
    var Levels=NytLevelArr();
    Levels=AddLevel(Levels,\"Level1.fil\");
    Levels=AddLevel(Levels,\"Level2.fil\");
    Levels=AddLevel(Levels,\"Level3.fil\");

document.all.Data.innerHTML+=\"<br>Resultat:<br>\";

    for(i=0;i<=Levels.Count;i++){
        document.all.Data.innerHTML+=Levels.Arr[i].Fil;
    }
}




E-)mil
Avatar billede kasseper Nybegynder
17. november 2000 - 10:28 #1
Hvilken fejl får du....?
Avatar billede powell Nybegynder
17. november 2000 - 10:56 #2
Emil -> Teoretisk kan jeg ikke se nogen fejl, hvilken fejl opstår, eller melder den bare ikke noget tilbage?
Avatar billede emileej Nybegynder
17. november 2000 - 12:12 #3
Fejlen ligger i \'for\' sætningen inde i \'init\' funktionen. Den lyder noget a la: \"Levels.Arr[...].Fil; er ikke noget objekt!\".

E-/mil
Avatar billede powell Nybegynder
17. november 2000 - 13:09 #4
for(i=0;i<=Levels.Count;i++){
  document.all.Data.innerHTML+=Levels.Arr[i].Fil;
}

Prøv følgene for at se hvad der går galt:
1. Kan du se tallet Levels.count?
2. Kan du få den til at acceptere sætningen: document.all.Data.innerHTML+=Levels.Arr1.Fil?

Hvis pkt1. ikke er OK, så kan det skyldes du for en NULL i din mængde.

Hvis pkt2. er OK - Jeg ved ikke om JAVA accepterer en handling som et object. Prøv at sætte en if sætning ind istedet.
Avatar billede shags Nybegynder
17. november 2000 - 14:02 #5
Jeg har taget mig den frihed at kigge lidt på dit script. Jeg fandt nogle new() fejl og andre små ting. Hvis det ikke virker som du havde tænkt dig vil jeg gerne have en beskrivelse af det koden skal bruges til......

////////// PRØV DETTE //////////

<html>
<head>
<title>:: TEST ::</title>

<script language=\"JScript\">


function LevelArray(){
    info.innerHTML += \'1: new LevelArray()... ok<br>\';
    this.Count=-1;                // ingen børn
    this.Childs = new Array();    // null
}

function Level(LevelName) {
    info.innerHTML += \'3: new Level() \"\'+ LevelName + \'\"...ok<br>\';
    this.Fil = LevelName;
}

function AddLevel(TopLevel, LevelName){
    info.innerHTML += \'2: AddLevel() \"\' + LevelName + \'\"... ok<br>\';

    TopLevel.Count++;
    TopLevel.Childs[TopLevel.Count] = new Level(LevelName);

}

function errortrap(msg, url, line) {
    alert(msg);
    return true;
}

function init(){
    onerror = errortrap;
   
    var MainLevel = new LevelArray();
           
    AddLevel(MainLevel, \"level1.fil\");
    AddLevel(MainLevel, \"level2.fil\");
    AddLevel(MainLevel, \"level3.fil\");
       
    info.innerHTML += \"<br>Resultat:<br>\";
    for(i=0;i<=MainLevel.Count;i++){
        info.innerHTML += \'<li>\' + MainLevel.Childs[i].Fil + \'<br>\';
    }
   
}

</script>
</head>

<body onload=\"init()\">

<div id=\"info\">
</div>

</body>

</html>

////////// SLUT //////////

/Shags


Avatar billede emileej Nybegynder
22. november 2000 - 11:56 #6
Tank u!

E-)mil
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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