r è la lunghezza dell'array.
Ora non mi da più quell'errore. Il problema è un'altro. Quando digito una lettera mi richiama la funzione fa il confronto e se trova una parola che inizia con quella lettera la inserisce nella textbox, impedendomi di correggere la parola (per esempio eliminando con il tasto <-- ), dato che ad ogni lettera mi fa il confronto.
Sarebbe utili non inserire la parola intera nella textbox ma la parola con sfondo blu (come compare quando rinomino un file), cosi da eliminarla facilmente.
Non so se sono stato chiaro.
Ti invio un esempio simile.
http://www.mattkruse.com/javascript/autocomplete/
il nuovo codice che ho inserito :
<?
$query_ris ="select * from tbl_clienti where eliminato<>1 order by titolo asc ";
$result = mysql_query($query_ris);
echo "<script>";
echo "var arr = new Array();";
$x=0;
while ($array_vet = mysql_fetch_array($result)) {
$titolo=$array_vet['titolo'];
echo "arr[".$x."]='".$titolo."'";
echo "\n";
$x=$x+1;
}
echo "</script>";
?>
<script>
function completa(r){
parola=document.form1.input1.value
lunghezza=parola.length;
check=0
for(e=0;e<=r;e++){
valore=arr[e]
if (parola==valore.substr(0,lunghezza)){
e=r+1;
trovato=valore
check=1
}
}
if (check==1){
document.form1.input1.value=trovato
}
}
</script>
</HEAD>
<body>
<FORM name="form1">
<INPUT TYPE="text" NAME="input1" VALUE="" onkeyup="completa(<?=$x-1?>)">
</FORM>