Ver Mensaje Individual
  #260 (permalink)  
Antiguo 09/10/2007, 04:01
Lengsel
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 1
De acuerdo Re: 37.- text que admita solo numeros

Cita:
Iniciado por atlante Ver Mensaje
P : Como se puede impedir que se ingrese un dato no numerico ?

R :
Código PHP:
<HTML>
<
HEAD>
<
TITLE></TITLE>
</
HEAD>
<
script language="javascript">
<!--
function 
LP_data(){
var 
key=window.event.keyCode;//codigo de tecla.
if (key 48 || key 57){//si no es numero 
window.event.keyCode=0;//anula la entrada de texto.
}}
-->
</script> 
<basefont face=verdana size=2>
<BODY>
<form name="miForm">
<input type=text name="num" onKeypress="LP_data()"><br><br>
<input type="button" value="enviar" onClick="LP_box()">
</form>
</BODY>
</HTML>
hola, este es mi primer post. escribo citando porque no se como es el protocolo. mejore este codigo, y lo posteo aqui para que lo puedan publicar y otras personas puedan usarlo.
la solucion que tienen es solo para internet explorer, sólo acepta numeros del teclado (NO numpad), esta version soluciona eso...

Código PHP:
<html>
<
head>
<
title>valida solo numeros y punto decimal</title>
<
script language="javascript">
function 
filtro(evento) {
var 
keyCode evento.which evento.which evento.keyCode;
var 
valido "1234567890abcdefghi`n¾.";
keychar String.fromCharCode(keyCode); //alert(keychar);
return (valido.indexOf(keychar) != "-1") || keyCode == 8;
/* NOTA:
la variable 'valido' contiene todos los caracteres que corresponden a numeros
sí, numeros!, para ver que caracter es la tecla que presionan, descomenten 'alert(keychar);'
despues, verifico que la tecla que se presione, corresponda a algun caracter de la cadena, si
es asi, entonces se devuelve true y el caracter aparece en el textbox, sino, envio keyCode=8 (backspace) y se borra.
Es verdad que acepta mas de un punto decimal, pero eso ya es algo menor

espero les sea de utilidad

saludos :)
*/
}
</script>
</head>
<body>
<input name="textfield" type="text" id="textfield" onKeyDown="return filtro(event)">
</body>
</html>