Avatar billede mimi Nybegynder
11. marts 2001 - 16:43 Der er 6 kommentarer og
1 løsning

Fejl i JavaScript - find fejlen

http://www.jong.dk/test/banksystem0.htm

Der opstår en fejl, når jeg forsøger at indsætte penge på lønkontoen, men jeg kan ikke umiddelbart finde fejlen. Hjælp?
Avatar billede erikjacobsen Ekspert
11. marts 2001 - 16:53 #1
Jah, nu burde du jo lave <form> omkring dine <input>-felter. Ellers kommer du
vist ikke langt.
Avatar billede mimi Nybegynder
11. marts 2001 - 17:00 #2
Ups - det havde jeg glemt. Hm, hvordan kan det så være, det virkede med at indsætte penge før? Nå, nu er <form> der og jeg har stadig et problem.
Avatar billede jakoba Nybegynder
11. marts 2001 - 17:25 #3
din funktion visOplysninger er gal til at genskrive det eksisterende vindue. Den bør kun bruges til at skrive i et andet vindue end det hvor funktionen ligger.

function visOplysninger(){
    document.writeln(\"<pre>Kontooplysninger **************<br>\");
    document.writeln(\"Ejer    : \"+this.ejer+\"<br>\");
    document.writeln(\"Adresse  : \"+this.adresse+\"<br>\");
    document.writeln(\"Type    : \"+this.type+\"<br>\");
    document.writeln(\"Oprettet : \"+this.dato.toLocaleString()+\"<br>\");
    document.writeln(\"Saldo    : \"+this.saldo+\"<br>\");
    document.writeln(\"*******************************<br></pre>\");
}

første gang du kalder  document.writeln( ... )  gør du det eksisterende vindue ugyldigt. Og så dør resten af funktionen.

prøv med:

function visOplysninger(){
        window.open(\"about:blank\", \"visevindue\",
                    \"width=550, height=400\" );
        visevindue.document.open()
    visevindue.document.writeln(\"<pre>Kontooplysninger **************<br>\");
    visevindue.document.writeln(\"Ejer    : \"+this.ejer+\"<br>\");
    visevindue.document.writeln(\"Adresse  : \"+this.adresse+\"<br>\");
    visevindue.document.writeln(\"Type    : \"+this.type+\"<br>\");
    visevindue.document.writeln(\"Oprettet : \"+this.dato.toLocaleString()+\"<br>\");
    visevindue.document.writeln(\"Saldo    : \"+this.saldo+\"<br>\");
    visevindue.document.writeln(\"*******************************<br></pre>\");
        visevindue.document.close();
}

det er mere lovligt

mvh JakobA
Avatar billede mimi Nybegynder
11. marts 2001 - 17:33 #4
Hm... jeg kan godt forstå, det du siger, men jeg får en fejlmeddelse: \"visevindue ikke defineret\" og nu er jeg så i tvivl om, hvor og hvordan jeg skal definere det.
????
Avatar billede jakoba Nybegynder
11. marts 2001 - 18:34 #5
Ok. Det var nok mig der var lovlig håbefuld.
Alle de steder der står  visevindue.documnet  skriver du  window.frames.visevindue.document  istedetfor.
altså:
        visevindue.document.open();
bliver til
        window.frames.visevindue.document.open();

det er den korrekte adressering. 
( visevindue bliver defineret i kaldet window.open(...) hvor det er anden parameter )

mvh JakobA
Avatar billede olebole Juniormester
11. marts 2001 - 18:51 #6
<ole>
jakoba >> Njahhhh...ikke helt :)

function visOplysninger(){
    var visevindue = window.open(\"about:blank\", \"visevindue\", \"width=550,height=400\" );
    visevindue.document.open()
    visevindue.document.writeln(\"<pre>Kontooplysninger **************<br>\");
    visevindue.document.writeln(\"Ejer    : \"+this.ejer+\"<br>\");
    visevindue.document.writeln(\"Adresse  : \"+this.adresse+\"<br>\");
    visevindue.document.writeln(\"Type    : \"+this.type+\"<br>\");
    visevindue.document.writeln(\"Oprettet : \"+this.dato.toLocaleString()+\"<br>\");
    visevindue.document.writeln(\"Saldo    : \"+this.saldo+\"<br>\");
    visevindue.document.writeln(\"*******************************<br></pre>\");
    visevindue.document.close();
}

...eller lidt mere \'sexy\':

function visOplysninger(){
    var visevindue = window.open(\"about:blank\", \"visevindue\", \"width=550,height=400\" );
    var ndoc = visevindue.document;
    ndoc.open()
    ndoc.writeln(\"<pre>Kontooplysninger **************<br>\");
    ndoc.writeln(\"Ejer    : \"+this.ejer+\"<br>\");
    ndoc.writeln(\"Adresse  : \"+this.adresse+\"<br>\");
    ndoc.writeln(\"Type    : \"+this.type+\"<br>\");
    ndoc.writeln(\"Oprettet : \"+this.dato.toLocaleString()+\"<br>\");
    ndoc.writeln(\"Saldo    : \"+this.saldo+\"<br>\");
    ndoc.writeln(\"*******************************<br></pre>\");
    ndoc.close();
}

/mvh
</bole>
Avatar billede erikjacobsen Ekspert
11. marts 2001 - 19:33 #7
Helt enig med Jakob og Ole. Jeg kunne bare ikke se noget i Netscape 4.5 uden
den <form>  :))
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