Avatar billede lizardine Nybegynder
13. marts 2004 - 13:14 Der er 9 kommentarer og
1 løsning

Cast string to object

Hej

Jeg har en funktion i js der tager imod en parameter, som den behandler som et objekt. Problemet er at når jeg overføre parameteren til funktionen, er parameteren en streng og det giver fejl.

f.eks.

... onclick="FunktionNavn('IdPaaTekstBoks');" ...

function FunktionNavn(MinStreng)
{
    //Her går det galt
    MinStreng.value = 'Et eller andet';
}

Er der en metode i js hvor jeg kan caste MinStreng til et objekt ???
Avatar billede helle_fred Nybegynder
13. marts 2004 - 13:19 #1
Når du kalder funktionen med en streng som parameter, opfatter funktionen det jo som netop en streng og ikke som en pegepind til et objekt.

Hvis navnet på dit objekt er "IdPaaTekstBoks", skal du kalde funktionen med kaldet
... onclick="FunktionNavn(IdPaaTekstBoks);" ... Altså uden citationstegn om navnet.
Avatar billede lizardine Nybegynder
13. marts 2004 - 13:25 #2
helle_fred >> Tak for dit forslag. Jeg skulle nok have uddybet min problem stilling en smule. Jeg er klar over at når man kalder en js funktion via html skal en kontrol altid sendes med uden citationstegn.

I mit tilfælde kalder jeg FunktionNavn fra en anden js funktion.

F.eks.

function Funktion1()
{
    var MinKontrol = 'IdPaaTekstBoks';
    Funktion2(MinKontrol);
}

function Funktion2(MinKontrol)
{
    //FEJL
    MinKontrol.value = 'Et eller andet';
}

Håber at det giver lidt bedre mening.
Avatar billede thesurfer Nybegynder
13. marts 2004 - 13:38 #3
Skal man ikke angive MinKontrol som "new Object" ?

Måske virker det her:
var MinKontrol = eval('IdPaaTekstBoks');

Det ved vel ikke hvilke parametere, objektet "MinKontrol" har.. noget felter har en .style, .text, .value, osv.. den skal vel først vide hvad slags objekt der er tale om..
Avatar billede lizardine Nybegynder
13. marts 2004 - 13:45 #4
thesurfer >> Har forsøgt med eval og får en fejl tilbage der siger "Object is undefined". Så det kunne skyldes at den ikke ved hvilke metoder der tilknyttet kontrollen.

Har ligeledes forsøgt med:

var MinKontrol new Object();

Men det gav også fejl.
Avatar billede lizardine Nybegynder
13. marts 2004 - 13:50 #5
Undskyld:

var MinKontrol = new Object();

Dette gav fejl og ikke ovenstående ;)
Avatar billede roenving Novice
13. marts 2004 - 14:33 #6
function Funktion1()
{
    var MinKontrol = document.getElementById('IdPaaTekstBoks');
    Funktion2(MinKontrol);
}
Avatar billede thesurfer Nybegynder
13. marts 2004 - 14:38 #7
roenving kan det der.. spørg ham ;-)
Avatar billede lizardine Nybegynder
13. marts 2004 - 14:50 #8
roenving >> He he - har selv forsøgt med document.getElementById og fik det til at virke, men min løsning er ikke nær så elegant som din. Tusind tak for hjælpen :-)
Gider du at poste et svar, så du kan få dine point?
Avatar billede roenving Novice
13. marts 2004 - 14:55 #9
Velbekomme '-)
Avatar billede roenving Novice
13. marts 2004 - 16:48 #10
-- og tak for points ;~}
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

IT-JOB