webForumDet fria alternativet

onclick på button i Internet Explorer

3 svar · 475 visningar · startad av erciz

ercizMedlem sedan maj 20011 826 inlägg
#1

Jag försöker anropa en funktion i javascript när jag klickar på en knapp. Det går bra med Google Chrome, men inte i Internet Explorer.

I Internet Explorer verkar det gå bra att skriva inline-javascript i onclick men inte att anropa en funktion. Det verkar märkligt.

<input type="button" value="Hide text" onclick="start()" />
<input type="button" value="Show text" onclick="document.getElementById('p1').style.visibility='visible'" />

Första raden funkar inte, men andra raden funkar bra.

Någon som vet nåt sätt att anropa en funktion från onclick med IE?
Microsoft är bedrövliga :(

ercizMedlem sedan maj 20011 826 inlägg
#2

Verkar som att det gick bra i IE, om funktionen inte heter start(), så startTest() funkar bra. Konstigt.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Prova

<input type="button" onclick="alert(start);" />

HTML-elementets alla attribut hamnar också i samma namespace som event-handlern. Du skulle t ex kunna skriva alert(value) för att få ut vilken text knappen har eller alert(type) för att få ut typen. Det kan du göra i alla läsare. Däremot start verkar vara ett obskyrt IE-specifikt attribut som bestämmer när en film som laddas med ett dynsrc-attribut till en img-tagg ska börja spelas upp. Varför det attributet är satt på en input-tagg vet nog bara MS. Men det är alltså vad som har hänt, en namnkrock där det konstiga HTML-attributet start får förtur framför din funktion.

ercizMedlem sedan maj 20011 826 inlägg
#4

Tack nitro2k01! Du rätade ut frågetecknen ;)

123 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)