Avatar billede kegel Nybegynder
11. juni 2002 - 20:38 Der er 3 kommentarer og
1 løsning

parameter


Hej

Jeg har defineret følgende funktion i javascript

function _setFocus(identification){
  document.all.firstcell.style.background = "#445566";
}

det virker fint min tabel celle får den angivet background. Problemet er naturligvis blot at jeg har hardkodet id navnet (firstcell) og ikke kan finde ud af at benytte mit parameter (identifikation) så min rutine bliver mere generelt anvendelig.

kort sagt: hvordan kan jeg skrive noget der ligner nedenstående?

function _setFocus(identification){
  document.all.identification.style.background = "#445566";
}
Avatar billede jakoba Nybegynder
11. juni 2002 - 20:52 #1
function _setFocus( identification ){
  document.all[identification].style.background = "#445566";
}

husk når du kalde funktionen at navnet er en streng og skal omkranses med anførselstegn:

    _setFocus( "firstcell" )

PS: pas på med navne der starter med et _ tegn. Det er ikke korrekt javascript, og der er browsere der flipper ud over det. Start dine navne med et bogstav (a..z)

mvh JakobA
Avatar billede kegel Nybegynder
12. juni 2002 - 07:52 #2
Tak Jakoba - Jeg agtede egentlig at kalde funktionen med self som argument, men denne her løsning er da bestemt også brugbar.
Avatar billede kegel Nybegynder
12. juni 2002 - 17:36 #3
Blot til orientering - for hvem det nu måtte intressere - så virker følgende løsning:

function OnFocus(obj){
  document.all[obj.id].style.background = "#667799";           
}

ovenstående kan eksempelvis kaldes således:

<td id=secondcell onClick='OnFocus(this);'>

eller:

<input type=text id=edfirst onClick='OnFocus(this);'>


Altså er det objektet (tabelcellen eller inputfeltet) som sendes som argument.

NB: Koden er kun testet på MSE.
Avatar billede jakoba Nybegynder
12. juni 2002 - 17:45 #4
den vil virke i alle IE brovsere (forudsat html objektet har en id='idnavn' attribut.
den kan evt forkortes til:
function OnFocus(obj){
  obj.style.background = "#667799";         
}
og det vil endda også virke i Netscape og opera, ...
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