Perdona
hoberwilly, parece ser que ese día no estaba muy lúcido:
Te dije que había que unir dos condiciones. Lo que pasa es que en tu código tenemos la condicional inversa: Si key está entre 48 y 57 (incluídos) entonces
es un número. Pero tú lo tienes al revés: Si key está fuera de [48,57] entonces
No es un número. Tenemos que unir otra condición para el caso
No es un número.
Dos condiciones de que
No sea un número, unidas con OR (||) porque cualquiera nos vale para que
No sea un número:
1) Que No sea un núero
(key < 48 || key > 57)
2) Si es un cero
(key===48), y la longitud del valor del campo actual es 0. Eso sería así:
(key==48 && campo.value.length==0)
Me equivoqué al decirte que
campo.length era la longitud del campo. El campo no tiene propiedad
length, es su valor (
value) lo que tiene propiedad
length.
Para obtener la variable campo debes pasarla como parámetro a la función:
Código PHP:
function LP_data(campo){
Y llamarla en el evento onkeypress (todo con minúsculas) mediante la palabra reservada
this:
Código PHP:
onkeypress="return LP_data(this)"
A ver si así lo resuelves.