Avatar billede ravnborg Nybegynder
14. februar 2010 - 19:09 Der er 13 kommentarer og
1 løsning

send variabel in di script.

Jeg har en onclick, som kører et script: onclick="setCol(67)"

I mit script vil jeg gerne have skrevet variablen (i dette tilfælde "67") i et form felt.

Mit gæt er at det er noget i stil med: document.form1.antal.value = setCol;

men det virker ikke :-(
Avatar billede majbom Novice
14. februar 2010 - 19:40 #1
det er næsten rigtigt - hvad hedder parameteren i setCol? (i dette tilfælde 67)
Avatar billede ravnborg Nybegynder
14. februar 2010 - 20:00 #2
Den hedder: oElm
Avatar billede majbom Novice
14. februar 2010 - 20:06 #3
så retter du bare:

document.form1.antal.value = setCol;

til:

document.form1.antal.value = oElm;
Avatar billede ravnborg Nybegynder
14. februar 2010 - 21:44 #4
Så skriver de "[object]" i mit formfelt og ikke 67.
Avatar billede majbom Novice
14. februar 2010 - 21:47 #5
prøv lige at smid noget kode ind...
Avatar billede ravnborg Nybegynder
14. februar 2010 - 22:14 #6
Her er det. Alt andet i mit script virker fint.


TABEL:
<td  id="tag67" onclick="setCol(67)" style="border:1px solid white">
    <font size='-1'><div align='right'>67</div></font>
</td>


SCRIPT:
<script type="text/JavaScript">
function setCol(oElm) {
    var bClicked = oElm.getAttribute("clicked")=="true";
    if (bClicked) {
        oElm.style.border='1px solid white';       
        oElm.setAttribute("clicked", "false");
    document.lektier.dato.value = setCol;
    } else {

    document.getElementById('tag26').style.border='1px solid white';
    document.getElementById('tag26').setAttribute("clicked", "false");
               
    oElm.style.border='1px solid red';
        oElm.setAttribute("clicked", "true");
    document.lektier.dato.value = oElm;   
    }
}
</script>


FORM:
<form method="post" name="lektier" action="">
    <input type="text" name="dato" size="30">
    <input type="submit" value="Send">
</form>
Avatar billede majbom Novice
15. februar 2010 - 09:08 #7
okay - er id="tag67" altid det samme som værdien? altså 67

så f.eks. tag32 har værdien 32...
Avatar billede ravnborg Nybegynder
15. februar 2010 - 18:59 #8
Ja, den må også gerne hedde id="67".
Avatar billede majbom Novice
15. februar 2010 - 19:26 #9
nej tag67 er meget godt, det må ikke starte med et tal :)

du kan lave det sådan her:

TABEL:
<td  id="tag67" onclick="setCol(67)" style="border:1px solid white">
    <font size='-1'><div align='right'>67</div></font>
</td>


SCRIPT:
<script type="text/JavaScript">
function setCol(sElm) {
    oElm = document.getElementById('tag'+sElm);
    var bClicked = oElm.getAttribute("clicked")=="true";
    if (bClicked) {
        oElm.style.border='1px solid white';     
        oElm.setAttribute("clicked", "false");
    document.lektier.dato.value = sElm;
    } else {

    document.getElementById('tag26').style.border='1px solid white';
    document.getElementById('tag26').setAttribute("clicked", "false");
             
    oElm.style.border='1px solid red';
    oElm.setAttribute("clicked", "true");
    document.lektier.dato.value = sElm; 
    }
}
</script>


FORM:
<form method="post" name="lektier" action="">
    <input type="text" name="dato" size="30">
    <input type="submit" value="Send">
</form>
Avatar billede ravnborg Nybegynder
15. februar 2010 - 20:15 #10
Når jeg indsætter scriptet får jeg fejlen:
Meddelelse: 'oElm' er null eller ikke et objekt

Fejlen er denne linje: oElm = document.getElementById('tag'+sElm);
Avatar billede majbom Novice
16. februar 2010 - 08:12 #11
og du har en td der har id'et tag67?
Avatar billede ravnborg Nybegynder
17. februar 2010 - 18:01 #12
Der var lige sneget sig et tegn mere ind. Så der virker perfekt nu. Opret bare et svar.

Mange tak for hjælpen.
Avatar billede majbom Novice
17. februar 2010 - 19:24 #13
super :)

og selv tak
Avatar billede majbom Novice
04. marts 2010 - 20:58 #14
tak for point :)
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