12. januar 2005 - 16:56Der er
8 kommentarer og 1 løsning
JavaScript: variabel i funktion
Jeg har f.eks. denne funktion:
function input_focus(formname, name, value) {
if (document.eval(formname).eval(name).value == value) { document.eval(formname).eval(name).value = ""; }
}
formname kan f.eks. være "mainform", name "user" og value "find bruger..".
Men når jeg kører funktionen før jeg en fejl. Meningen er, at den skal indsætte formname, name og value så der feks. kommer til at stå: if (document.mainform.user.value == "find bruger..") {
Hvis man undrer sig over måden, jeg bruger array-notation på i mit første eksempel, kan jeg - i al beskedenhed - anbefale at læse: http://www.eksperten.dk/artikler/227
Der er ikke principielt noget galt i at bruge eval ... den er bare enormt sløv. Derfor vil jeg gerne dele points :)
Det med array-notaionen er faktisk ret sjovt ... man kan skrive mange sære ting: document["body"]["style"]["color"] = "red"; ... f.eks. Måske ikke umiddelbart anvendelig - men denne her kan faktisk være ret smart:
var aStyles = {"color":"blue", "backgroundColor":"red", "padding":"10px"}; var myDiv = document.getElementById("mitDiv"); for (x in aStyles) { myDiv.style[x] = aStyles[x]; }
En fiks fremgangsmåde, hvis man f.eks. vil kunne lade en bruger skifte tema - el.lign :)
Synes godt om
Ny brugerNybegynder
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.