Hai ragione, sbagliavo io a "condannare" l'onchange di firefox. A un piu' attento esame ho scoperto (non lo sapevo, non sono espertissimo di javascript e mi sto facendo la mia esperienza a forza di errori) che era un problema di invio di eventi. Mi spiego:
il mio select era originariamente fatto nel seguente modo:
<SELECT onchange='my_function();'>
e la funzione era definita come:
function my_function(e)
{
if(!e)
e=window.event;
var srg=(e.target)?e.target:e.srcElement;
[.....]
}
Facendo delle prove ho scoperto che era meglio definire il select cosi':
<SELECT onchange='my_function(event);'>
cioe' passare l'oggetto "event" alla funzione. Cosi' facendo le cose sembrano andare anche in Firefox (in IE andava anche prima perche' "e", pur essendo nulla all'ingresso della funzione, veniva riassegnata da window.event). Chiedo pero' a qualche esperto che abbia voglia e tempo se sia possibile avere una pillola o almeno un piccolo riassunto di come vengano gestite questi eventi nei due browser, in particolare se la sintassi che ho usato e' la piu' corretta e generale e quale sia la differenza fra e.target ed e.srcElement, che non ho trovato facilmente nelle varie documentazioni.
Grazie in anticipo