webForumDet fria alternativet

onchange fungerar inte på inklistrad text

5 svar · 281 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#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?

Web-TorMedlem 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>
PalleMedlem 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

Web-TorMedlem sedan nov. 200013 890 inlägg
#4

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

dectgapMedlem sedan sep. 20021 655 inlägg
#5

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

document.getElementById('foo').onchange()
Web-TorMedlem 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. :)

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