Non e` che mi piaccia molto.
Il funzionamento dipende dalle velocita` relative del JS e dell'HTML.
Supponi che il disabled scatti prima che il JS ritorni true: la pagina non partira`.
E su questo non puoi fare dei test, perche` le combinazioni di browser e hardware sono quasi infinite.
Piuttosto:
All'inizio metti una variabile JS:
var form_abil = true;
Poi ogni volta che faresti un return true:
if(form_abil) {form_abil=false; return true;}
else {return false;}
Ciao
Michele