Avatar billede themepark Nybegynder
18. september 2003 - 13:48 Der er 13 kommentarer og
1 løsning

Et objekt var ventet

Jeg er ved at få spat af mit problem med JavaScript.

Jeg har forkortet min kode for en side ned til følgende:

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
function TjekOplysninger() {
    switch (document.Oplysninger.OplysningsValg.value) {
        alert(document.Oplysninger.OplysningsValg.value)
        case 1:
            alert("Hejsa")
            break;
    }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="Oplysninger">
<SELECT NAME="OplysningsValg" onChange="TjekOplysninger()">
<OPTION VALUE=1>Oplysning 1
<OPTION VALUE=2>Oplysning 2
</SELECT>
</FORM>
</BODY>
</HTML>

Og hver gang, jeg så markerer Oplysning 1, får jeg en JavaScript fejl, der siger "Et objekt var ventet", og fejlen gælder for SELECT linjen.

Jeg kan VIRKELIG ikke se, hvad der er galt...HELP, I need somebody :'(
Avatar billede erikjacobsen Ekspert
18. september 2003 - 13:51 #1
Fjern linien med  alert(document.Oplysninger.OplysningsValg.value)
Avatar billede erikjacobsen Ekspert
18. september 2003 - 13:55 #2
Og du skal sikkert også skrive

  case "1":

Det er jo en streng du sammenligner med
Avatar billede themepark Nybegynder
18. september 2003 - 14:01 #3
alert har jeg med vilje sat ind netop for at kunne teste om det burde virke eller ej...altså om jeg har markeret den option, der har 1 som værdi :)

Jeg prøver lige det med strengen...men jeg sætter jo value til 1 UDEN streng...burde det så ikke blive en integer?
Avatar billede themepark Nybegynder
18. september 2003 - 14:03 #4
Hov nu kan jeg se hvad du mener...alert må sgu da ikke stå mellem switch og case sætningen :)
Avatar billede themepark Nybegynder
18. september 2003 - 14:06 #5
Hmmm....sig mig...når man opretter en brugerdefineret funktion i JavaScript...må navnet på den funktion så starte med et tal?
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:07 #6
nej, det må den ikke
Avatar billede themepark Nybegynder
18. september 2003 - 14:09 #7
Mens jeg lige prøver at se om det er det der forårsager fejlen...ved du så hvorfor man egentlig ikke må det?
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:22 #8
Det kan ikke være fejlen - det står jo ingen steder i din kode ovenfor.
Men det er fordi man skal kunne skelne mellem tal og navne.
Avatar billede themepark Nybegynder
18. september 2003 - 14:28 #9
Nej jeg glemte at få det med :( Men nevermind...med en kombination af case "" og omdøbning af funktionerne virker det nu :)
Avatar billede themepark Nybegynder
18. september 2003 - 14:28 #10
Gider du smide et svar? ;)
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:39 #11
Generelt bør du jo vise præcis den kode, der går galt. Hvis du trækker noget
ud, så test også at det fortsat ikke virker. Ellers spilder vi alle tiden ;)
Avatar billede themepark Nybegynder
18. september 2003 - 14:43 #12
Jeg sørger altid for at cutte min kode så meget ned som muligt...og bare rolig...den korte version, jeg viste dig virkede skam heller ikke...det HAVDE jeg tjekket ;)
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:46 #13
Men det var måske ikke de samme funktionsnavne *g* - du har ganske ret i at den ikke virkede.
Avatar billede themepark Nybegynder
18. september 2003 - 14:56 #14
Det var som sagt delvist pga case og pga funktionsnavnene jeg havde startet med at skrive med tal :)
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