Se pare ca Internet Explorer inclusiv versiunea 8 are o “mica” problema cu handlerul de “onchange” pe elementele input de tip radio, mai precis evenimentul onchange se manifesta doar atunci cand controlul pierde focusul. Deci cand se schimba valoarea nu apare evenimentul, in schimb cand dai click pe alt element din cadrul controlului radio se porneste evenimentul pentru valoarea precedenta. La fel se intampla si daca selectezi o valoare si apoi dai click altundeva in pagina. E clar ca nu e functionalitatea corecta
Rezolvarea e destul de simpla si anume punerea handlerului pe onclick, desi logic ar fi sa functioneze asa cum trebuie onchange…
Deci, in loc de:
<input type="radio" onchange="handler()" />
… trebuie
<input type="radio" onclick="handler()" />
Din pacate astfel se executa handlerul chiar daca nu se schimba valoarea, dar asta este, n-avem ce sa-i facem…

Comentarii recente