Avatar billede altinet Nybegynder
21. august 2000 - 11:43 Der er 6 kommentarer og
1 løsning

\"database funktion\" ??

Hejsa!

Jeg har et script som jeg includer i et andet. Scriptet består af en række variabel definitioner som f.eks.:

var ekch=\"EKCH 160850 22015KT 9999 15/10\"
var eksp=\"EKSP 160850 20025KT 4000 17/06\"

I det egentlige script på den side som skal vises, har jeg to text felter. Det ene skal bruges til at vælge hvilke data man vil se i det andet.

Altså: hvis value i det ene felt er \"ekch\" så skal value af det andet felt være \"EKCH 160850 22015KT 9999 15/10\".

Det kan selvfølgelig laves med en lang række IF \'er eller med en drop down, men kan man ikke lave det smartere, så det altid virker, uanset hvor mange variable der er defineret i \"database\"-scriptet?

:-) Lars
Avatar billede jumper Nybegynder
21. august 2000 - 11:50 #1
Altså, du vil dynamisk referere til en variabel, ud fra indholdet af en streng (det første textfelt) ?

Det er da ikke noget problem ;)

var streng = document.dinForm.felt1.value // F.eks. ekch
document.dinForm.felt2.value = window[streng]

Alle variabler er properties på window objektet, og dermed kan du bruge array notation til at referere dem ( window[\"variabelNavn\"]).

/Thor
Avatar billede jumper Nybegynder
21. august 2000 - 11:52 #2
Sådan for lige at uddybe, hvis felt1 indeholdt strengen \"ekch\", ville felt2 så blive sat til \"EKCH 160850 22015KT 9999 15/10\".

/Thor
Avatar billede altinet Nybegynder
21. august 2000 - 12:29 #3
Jamen jeg vidste det var let *G*

(nogen dage er der bare ikke rigtig gang i de små grå!)

Tak for hjælpen!

:-) Lars
Avatar billede jumper Nybegynder
21. august 2000 - 12:33 #4
No problemo ;)

array notation er ofte en, desværre, overset mulighed. Ofte bruger folk eval() til dynamiske objekt referencer, hvilket er 100% unødvendigt!

Hvis du ville udbygge lidt og tjekke om den pågældene variabel fandtes, er det heller ikke det store problem.

var streng = document.dinForm.felt1.value // F.eks. ekch
if (window[streng]){ // Findes den?
  document.dinForm.felt2.value = window[streng]
} else {
  alert(\'De valgte data findes ikke\')
}

/Thor
Avatar billede altinet Nybegynder
21. august 2000 - 12:48 #5
Ja den er jeg med på.

Jeg har lige et ekstra spørgsmål:
Din løsning virker perfekt når jeg klikker på en knap der starter funktionen, men hvordan får jeg det til at virke ved blot at trykke enter?

:-) Lars
Avatar billede jumper Nybegynder
21. august 2000 - 12:51 #6
<form onsubmit=\"dinFunktion();return false\">
<input type=\"text\" name=\"noget\">
<input type=\"submit\" value=\"Udfør\">
</form>

Så bliver dinFunktion() kaldt når du submitter formen, hvorefter den lader være med at submitte formen (return false)

/Thor
Avatar billede altinet Nybegynder
21. august 2000 - 12:54 #7
KANONE !!

(ikke DANONE men KANONE -nyt smart udtryk)

:-) Lars
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