questo fa quello che chiedi, con IE e MOZ
l' unica cosa è che devi riconoscere il tasto premuto:
x fare le maiuscole premi anche lo shift, per cancellare serve l' uso dell' apposito tasto
quando usi almeno questi 2 tasti lo script non deve scattare altrimenti non funziona corettamente
codice:
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
var array_titoli = new Array(); 
var array_sottot = new Array(); 
array_sottot[0] = "pippo"; 
array_sottot[1] = "pluto"; 
array_sottot[2] = "paperino"; 

function cambia_titolo(objCampo){ 
var stringa = objCampo.value; 
if (objCampo.name == 'titolo'){ 
array_da_usare = array_titoli; 
} else { 
array_da_usare = array_sottot; 
} 
if (stringa.length > 0){
	var selectionStart=stringa.length
	for (i=0; i<array_da_usare.length; i++){
		if (array_da_usare[i].substr(0, stringa.length) == stringa){
			objCampo.value = array_da_usare[i];
			var selectionEnd=objCampo.value.length
			if (objCampo.setSelectionRange) {
 				objCampo.focus();
				objCampo.setSelectionRange(selectionStart, selectionEnd);
			}
			else if (objCampo.createTextRange) {
				var range = objCampo.createTextRange();
				range.collapse(true);
				range.moveEnd('character', selectionEnd);
				range.moveStart('character', selectionStart);
				range.select();
			}
		break;
		} 
	}
} 
} 
</script>
</head>
<body>
<form name="modulo">
<input type="text" name="sottotitolo" onkeyup="cambia_titolo(this)" />
</form>
</body>
</html>
ciao