il fatto e' che l' errore puo' essere molto ricorrente:
un onchange="this.blur()" o onfocus="this.blur()" su un campo lo genera,
credo perche' x es. spostare il focus mentre automaticamente verrebbe richiamato l' autocompletamento lo scatena
quindi non e' questione di alert o meno
restando nell' esempio di Pietro, togli l' alert e lascia il focus sul campo2, se scatta quando il focus non l' ha un campo non genera errore, mentre lo genera se scatta mentre scrivi in un campo, perche' quest ultimo "perde" l' autocompletamento
la versione lunga del workaround dice che questo
codice:
var modulo=document.getElementById('form1');
var campi=modulo.getElementsByTagName('input');
for(var k=0;k<campi.length;k++){
if(campi[k].type=='text'){
campi[k].setAttribute('autocomplete','off');
}
}
richiamato onload sul body, o tra <script> immediatamente dopo la chiusura del form aggira il problema