Originariamente inviato da Mich_
Il this non puoi usarlo in quel modo.

Il setTimeout() prende la stringa contenuta nel primo parametro e la elabora dopo un tempo definito.
Quindi al momento dell'elaborazione della stringa il this non ha significato.
Puoi usare invece (nel tuo caso):
window.setTimeout ('document.getElementById(\"'+this.id+'\").disable d=\"true\"', 1);

Nota le backslash davanti alle virgolette interne per non farle interpretare dal parser HTML assieme a quelle che racchiudono l'argomento dell'evento.
Grazie In effetti, così come ho scritto funziona in IE (ma non fa testo, perchè permette le cose più assurde). Se sostituisco this con document.Form1.Button1 allora funziona sia in IE sia in Firefox. Non ho provato, ma sono quasi sicuro che funzioni pure passando a setTimeout il nome di una funzione che recupera l'oggetto con event.

Comunque, grazie