Avatar billede boris Mester
07. maj 2003 - 09:04 Der er 8 kommentarer og
2 løsninger

Variabel i funktion

Hvad er det lige jeg gør galt.
Jeg overfører en parameter til en funktion og vil så lade den indgå i et objekt. I eksemplet har box fået tilført værdien "a1" men javascript opfatter box som "box", ikke som "a1".
Derfor kommer der fejlen, at document.tform.box ikke er et objekt.

function kald(navn)
{
box = navn;
document.tform.box.checked=true;
}
Avatar billede qredee Nybegynder
07. maj 2003 - 09:12 #1
Hmm - Og du har sat name="box" ?
Avatar billede Spotgun Seniormester
07. maj 2003 - 09:13 #2
Kan du ikke bare bruge funktionen således:

function kald(box)
{
document.tform.box.checked=true;
}

???
Avatar billede qredee Nybegynder
07. maj 2003 - 09:13 #3
Må jeg lige få lidt mere source!?
Avatar billede boris Mester
07. maj 2003 - 09:26 #4
spotgun > Det er prøvet.
Så lyder fejlen stadig at der ikke er noget der hedder
document.tform.box. Og det er der jo heller ikke, men box er en variabel, som indeholder værdien "a1", som findes.
Så javascript skulle læse det som document.tform.a1.checked...
Hvorfor dælen bliver box opfattet som et navn og ikke som en variabel og hvordan banker man det  ind i javascript?
Avatar billede Spotgun Seniormester
07. maj 2003 - 09:34 #5
Hvis du bruger funktionen sådan her:

function kald(box)
{
document.tform.box.checked=true;
}


og kalder den sådan her:

kald(a1);

og ikke

kald("a1");

så vil jeg tro det virker. Hvis du sætter " omkring variabel-navnet bliver det jo opfattet som en tekststreng, og ikke en reference til dit tform-element.
Avatar billede Spotgun Seniormester
07. maj 2003 - 09:44 #6
Okay, jeg har lige lavet et lille test-script, og det her ser ud til at virke hos mig i hvert fald:

<html>
<body>
<script>
function kald(navn) {
    alert('Checked? ' + navn.checked);
}
</script>

<form name="testForm">
<input type="checkbox" name="a1"><br>
<input type="button" onClick="kald(a1);" value="test">
</form>
</body>
</html>

Det virker dog lidt underligt, for jeg syntes jeg har haft en løsning som det jeg tidligere postede, som virkede fint...
Avatar billede boris Mester
07. maj 2003 - 09:54 #7
>Spotgun
Tak for forsøgene. i det sidste eksempel kan du godt overføre værdien til funktionen, men checkboksen bliver stadig ikke tjekket, den kendte nemlig pludselig ikke 'a1'
Jeg har fundet en anden løsning, som virker(!), men det irriterer mig stadig at jeg ikke fik det til at virke på den første måde:

function kald(box)
{
if (!document.getElementById(box).checked){
document.getElementById(box).checked = true;
}
else {
document.getElementById(box).checked=false;
}
}
------
onClick="kald('a1')">
------
<input type="checkbox" name= "a1" id= "a1"
Avatar billede boris Mester
07. maj 2003 - 10:32 #8
Jeg afslutter spm, da jeg jo har fundet en løsning, der virker.
På den anden side deler jeg pointene med spotgun, som kom med bidrag, der ikke var så helt tåbelige endda, selvom de ikke førte frem til det lille kryds i tjekboksen.
Avatar billede boris Mester
07. maj 2003 - 10:33 #9
Hvis jeg lige kan lokke spotgun til at give et lille svar
Avatar billede Spotgun Seniormester
07. maj 2003 - 10:43 #10
Fair nok...
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