/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
onClick skal skifte værdi
Fra : Jan Romme


Dato : 29-10-03 11:51

Hej NG!

Hvordan er det nu lige, at man refererer til værdien af onClick parameteren
i et element i javascript?

Her er et eksempel:

<form name="MinForm" action="fil.html" method="post">
<input name="MinKnap" type="button" value="Min knap"
onClick="FooBar();">
</form>

Her vil jeg gerne gennem et script kunne ændre knappens onClick-værdi.
Umiddelbart ville jeg tro, at man i scriptet skulle skrive noget i retningen
af:

document.MinForm.MinKnap.onClick.value = "WhatEver();";

men så får jeg bare en fejl om, at elementet er nul eller ikke findes.

Løsningen er sikkert rigtig enkel, men jeg har vist stirret mig blind på
problematikken. Nogen ideer?

Mvh
Jan Romme



 
 
Lasse Reichstein Nie~ (29-10-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 29-10-03 12:33

"Jan Romme" <SLETjanrommeSLET@hotmail.com> writes:

> Hvordan er det nu lige, at man refererer til værdien af onClick parameteren
> i et element i javascript?

> Her er et eksempel:
>
> <form name="MinForm" action="fil.html" method="post">
> <input name="MinKnap" type="button" value="Min knap"
> onClick="FooBar();">
> </form>

> Her vil jeg gerne gennem et script kunne ændre knappens onClick-værdi.
> Umiddelbart ville jeg tro, at man i scriptet skulle skrive noget i retningen
> af:
>
> document.MinForm.MinKnap.onClick.value = "WhatEver();";

Noget i den *retning*, ja.

document.forms['MinForm'].elements['MinKnap'].onclick = WhatEver;

Bemærk:
"onclick" er med småt!
Du kan ikke tildele en streng til den, det skal være en funktion.

Eksempel:

blah.blah.onclick = function(event) {
event = event || window.event; // IE sucks
// do something
}

Hvis du har en streng, så kan du lave den om til en funktion som:
blah.blah.onclick = Function("event","event=event||window.event;"+streng);
Hvis din streng alligevel bare er et funktionskald, så vil det være en
omvej.

> men så får jeg bare en fejl om, at elementet er nul eller ikke findes.

Der er ikke nogen egenskab ved navn "onClick", det hele skrives med
småt. Den ikke-eksisterende egenskab har derfor ikke en egenskab der
hedder "value". Det er ikke elementet der ikke findes.

> Løsningen er sikkert rigtig enkel, men jeg har vist stirret mig blind på
> problematikken. Nogen ideer?

I moderne browsere kan du bruge DOM-metoden addEventListener til at
putte flere event-handlere på et element. Dem der er givet i HTML skal
dog stadig tilgås gennem .onclick.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jan Romme (29-10-2003)
Kommentar
Fra : Jan Romme


Dato : 29-10-03 12:41


"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:ptggjn2n.fsf@hotpop.com...

Super! Tak for den hurtige hjælp!

Mvh
Jan Romme



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste