webForumDet fria alternativet

onchange fungerar inte på inklistrad text

JavaScriptur Javascript

5 svar · 281 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Jag har en funktion på en <input> som körts vid onchange. Det funkar bra så länge jag skriver in text i fältet och sedan lämnar det.

Jag har även en funktion som hämtar text till fältet genom att man klickar på en länk. Då körs inte onchange.

<input id="foo" onchange="alert('Change!')" />
<a href="#" onclick="document.getElementById('foo').value='bar';return false">Infoga text</a>

Jag tänkte att onpaste skulle funka men icke!
Förslag eller frågor?

Medlem sedan nov. 200013 890 inlägg
#2

Yes! Jag hittade fireEvent.

<input id="foo" onchange="alert('Change!')" />
<a href="#" onclick="document.getElementById('foo').value='bar';
document.getElementById('foo').fireEvent('onchange');">Infoga text</a>
Medlem sedan apr. 20003 174 inlägg
#3

Nu vet jag inte om det har någon betydelse i sammanhanget.. ;) ..men:

fireEvent() is a MS only method

Medlem sedan nov. 200013 890 inlägg
#4

I mitt fall så gör det inget men tack för tipset. :)

Medlem sedan sep. 20021 655 inlägg
#5

Ett lättare sätt som även fungerar i andra läsare:

document.getElementById('foo').onchange()
Medlem sedan nov. 200013 890 inlägg
#6

Jag testade det där men det funkade inte. Ser nu att jag bara skrev change().
Tack så mycket. :)

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