26. september 2007 - 15:22
Der er
14 kommentarer og 1 løsning
Kan man tilgå .onclick
Hej Jeg har et behov for at ændre .onclick i en javascript funktion. Men hvordan gør jeg, lige meget hvad jeg gør så har jeg ikke succes med det! Min kode ser sådan ud <html> <head> <SCRIPT TYPE="text/javascript"> function test1() { alert("test1"); } function test2() { document.getElementsByName("tomatoes").onclick = "test3()"; } function test3() { test1() alert("testALL"); } </SCRIPT> </head> <body> <INPUT TYPE=CHECKBOX NAME="tomatoes" onclick="test1()"><H1>Text</H1> <button onclick="test2()">Test</button> </body> </html>
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
26. september 2007 - 15:25
#1
Utestet: function test2() { document.getElementsByName("tomatoes").onclick = test3; } eller: function test2() { document.getElementsByName("tomatoes").onclick = function() { test3(); } }
26. september 2007 - 15:27
#2
id="tomatoes" - ikke name. name bruges til noget andet end id.
26. september 2007 - 15:27
#3
Der skal muligvis OGSÅ være name til brug i formen, men ikke til getElementById (som logisk nok henter et element ud fra id).
26. september 2007 - 15:35
#4
barklund > Jep, det havde jeg ikke set.
26. september 2007 - 23:47
#5
<ole> Det er ikke rigtigt :) Årsagen er derimod, at getElementsByName returnerer et array af elementer (getElements). Derfor skal koden se sådan ud: document.getElementsByName("tomatoes")[0].onclick = "test3()"; /mvh </bole>
26. september 2007 - 23:49
#6
Vrøvl, olebole! Vi krydser lige med jensgrams ;D document.getElementsByName("tomatoes")[0].onclick = test3;
27. september 2007 - 00:55
#7
Ah, der stod getElementsByName og ikke ..ById - den bruger jeg nu så sjældent :)
27. september 2007 - 01:42
#8
Jeg kunne godt læse ud af dine kommentarer, du ikke havde bemærket, metoden ;o)
27. september 2007 - 01:44
#9
- og nu, da jeg i forvejen smider om mig med overflødige kommaer, må du lige sige til, hvis du også har brug for nogle punktummer. Zq meget godt, min dansklærer ikke læser med her - hvis hun endnu lever ;D
27. september 2007 - 07:18
#10
Min forvirring vil p.t. ingen ende tage :) ByName havde jeg slf heller ikke set :)
27. september 2007 - 09:49
#11
Det er okay... Jeg har altid rigeligt punktummer... Jeg kaster... dem.. om..... mig.. i. grams........!..
27. september 2007 - 10:24
#12
Hej eksperter Jeg har ændret koden til <html> <head> <SCRIPT TYPE="text/javascript"> function test1() { alert("test1"); } function test2() { document.getElementsByName("tomatoes")[0].onclick = "test3()"; } function test3() { test1() alert("testALL"); } </SCRIPT> </head> <body> <INPUT TYPE=CHECKBOX NAME="tomatoes" onClick="test1()"><H1>Text</H1> <button onclick="test2()">Test</button> </body> </html> Tildelingen går ok, men efter tildelingen af ny onclick sker der ikke noget når jeg klikker på checkboksen! Når jeg kigger i debuggeren, så starter onclick med at være udfyldt med {...}. Efter tildelingen står der så fint nok "test3()". Hvorfor kan jeg ikke se at der står "test1()" i debuggeren til at starte med?
28. september 2007 - 12:59
#13
fik det til at virke, fik ikke lige rettet det olebole efterfølgende skrev. Smid et svar olebole og du får point :-)
10. september 2010 - 16:53
#14
lukker
10. september 2010 - 16:54
#15
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling