Ciao, ho un campo input per cui voglio permettere solo di inserire
numeri, la virgola e il punto.

Usando jquery (ma non dovrebbe essere importante) assegno la funzione
all'input in questo modo:

codice:
$('.only_numbers').bind('keydown', function(e) {
onlyNumbers(e);
});
e la funzione onlyNumbers è fatta cosi:

codice:
function onlyNumbers(e) {

key = e.keyCode;

if(debug) log("onlyNumbers\nkey_code:"+key);

if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || 
(key==27) ) return true;

keychar = String.fromCharCode(key);
if(debug) log("keychar:"+keychar);

// numbers
if((("0123456789.,").indexOf(keychar) > -1)) {
if(debug) log('carattere accettato');
return true;
}

if(debug) log('carattere NON accettato');
return false;

}
Sia con firefox che con explorer la funzione c'è qualcosa che non va nei
codice caratteri.

Il log seguente mostra quello che succede se inserisco "a1,3."
codice:
onlyNumbers key_code:65
keychar:A
carattere NON accettato
onlyNumbers key_code:49
keychar:1
carattere accettato
onlyNumbers key_code:188
keychar:¼
carattere NON accettato
onlyNumbers key_code:51
keychar:3
carattere accettato
onlyNumbers key_code:190
keychar:¾
carattere NON accettato
I miei file php/tpl sono in utf8, l'header della pagina è utf8 e i file
javascript pure.

Qualche consiglio?

grazie, ciao