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