Ciao Roby,

una cosa veloce potrebbe essere questa
codice:
function AbilitaRighe(tt){
	var numero,abilita,altrovalore
	if(tt.name.substr(0,7)=='modello'){
		numero = parseInt(tt.name.substr(8),10)
		altrovalore = tt.form.elements['dettaglio_'+numero].value
	}
	else{
		numero = parseInt(tt.name.substr(10),10)
		altrovalore = tt.form.elements['modello_'+numero].value
	}
	abilita = (tt.value!='' && altrovalore!='')
	if(tt.form.elements['dettaglio_'+(numero+1)]){
		tt.form.elements['dettaglio_'+(numero+1)].readOnly=!abilita
		tt.form.elements['modello_'+(numero+1)].readOnly=!abilita
	}
}
e poi mettere su tutti i campi di testo
codice:
<input type="text" onchange="AbilitaRighe(this)"
questa soluzione però non è ottimale... se qualcuno torna indietro e cancella qualcosa cosa si deve fare?