"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.'