Foros del Web » Programando para Internet » Javascript »

validar entrada en las caja de texto

Estas en el tema de validar entrada en las caja de texto en el foro de Javascript en Foros del Web. hace unos dias postee algo sobre esto y me dieron respuesta inmediata, pero el problema vino cuando en un formulario tengo dos cajas de texto ...
  #1 (permalink)  
Antiguo 30/12/2006, 21:53
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Pregunta validar entrada en las caja de texto

hace unos dias postee algo sobre esto y me dieron respuesta inmediata, pero el problema vino cuando en un formulario tengo dos cajas de texto una que debe aceptar solo letras y en la otra solo numeros. cuando uso solo letras me sale perfactamente gracias aun codigo que me pasaron en este foro.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.02">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Validar entrada de datos</title>
<script type="text/javascript">
function validar(e) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2
if (tecla==8) return true; // 3
patron =/[A-Za-z\s]/; // 4
te = String.fromCharCode(tecla); // 5
return patron.test(te); // 6
}
</script>
<script type="text/javascript">
function numeros(nu) { // 1
tecla = (document.all) ? e.keyCode : e.which; // 2
if (tecla==8) return true; // 3
ppatron = /\d/; // Solo acepta números// 4
te = String.fromCharCode(tecla); // 5
return patron.test(te); // 6
}
</script>

</head>

<body>
<form name="form1" method="post" action="">
<p>
<input type="text" name="textfield" onkeypress="return validar(event)" />
</p>
<p>
<textarea name="textarea" cols="20" rows="5" onkeypress="return validar(event)"></textarea>
</p>
<p>
<input type="text" name="textfield2" onkeypress="return numeros(nu)">
</p>
</form>
<p><br />
</p>
<p>&nbsp;</p>
</body>
</html>

les pregunto ya que no se nada de javascript. y se que es un error minimo les anticipo las gracias al que se tome la molestia de decirmelo muchas gracias.
  #2 (permalink)  
Antiguo 31/12/2006, 01:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: validar entrada en las caja de texto

Hola:

A simple vista parece que se te coló una letra en la definición de la palabra patron

ppatron = /\d/; // Solo acepta números// 4

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/12/2006, 03:43
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: validar entrada en las caja de texto

Hola Axedrez y caricatos

Este código me suena He hecho algunas modificaciones, para que solo haya que utilizar una función, así queda el código más claro:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.02">
<
html>
<
head>
<
meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<
title>Validar entrada de datos</title>
<
script type="text/javascript">
function 
validar(e,modo) { // 1
tecla = (document.all) ? e.keyCode e.which// 2
if (tecla==8) return true// 3
patron = (modo=='letra') ? /[A-Za-zs]/ : /d// 4
te String.fromCharCode(tecla); // 5
return patron.test(te); // 6
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
<p>
<input type="text" name="textfield" onkeypress="return validar(event,'letra')" />
</p>
<p>
<textarea name="textarea" cols="20" rows="5" onkeypress="return validar(event,'letra')"></textarea>
</p>
<p>
<input type="text" name="textfield2" onkeypress="return validar(event,'numero')">
</p>
</form>
<p><br />
</p>
<p>&nbsp;</p>
</body>
</html> 
Saludos,
  #4 (permalink)  
Antiguo 02/01/2007, 09:24
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: validar entrada en las caja de texto

voy a checar el codigo, pero te doy las gracias por ayuda prestada.
  #5 (permalink)  
Antiguo 02/01/2007, 09:39
 
Fecha de Ingreso: diciembre-2006
Mensajes: 25
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: validar entrada en las caja de texto

JavierB ya lo probe y en tanto el las dos cajas de texto y en el textarea solo me aceptan letras, como yo quiero que en el textfield2 solo quiero q me acepte numero, porfa que sera q no copie bien o habra un errorcito es que no manejo bien el java script, lo copie tal y como esta. saludos y gracias por la molestia
  #6 (permalink)  
Antiguo 01/05/2007, 12:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 17 años
Puntos: 0
Re: validar entrada en las caja de texto

A ver si entendí. Vos tenes una caja de texto y queres que tire un error si se ingresa cualquier cosa que no sea un numero. Yo lo hice asi, a mi me funcionó. Espero que te sirva.
<!--
<form name="form1">
Ingrese una cadena de numeros.
<input type="text" name="textfield2" onkeyup="validar()" />
</form>

<script language="javascript">
function validar ()
{
var i;
for (i = 0; i < document.form1.textfield2.value.length; i++)
{
if (document.form1.textfield2.value.charCodeAt(i) < 48 || document.form1.textfield2.value.charCodeAt(i) > 57)
{
document.form1.textfield2.value = document.form1.textfield2.value.slice(0, i);
}
}
}
</script>

charCodeAt devuelve el codigo ascii del caracter que ingrese en el textfield2. El ascii del 0 es (48) y el del 9 (57), entonces si el codigo que devuelve
la funcion charCodeAt está fuera de ese rango, quiere decir que
estan ingresando algo que no es un numero
Espero que se entienda. Cualquier cosa avisá y veo si te puedo ayudar

Última edición por Lugaid; 02/05/2007 a las 11:54 Razón: Mejora en el script
  #7 (permalink)  
Antiguo 02/05/2008, 13:53
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Re: validar entrada en las caja de texto

hola mira yo tengo un problema ocupo unas funciones similares pero mi problema es que no me acepta la tecla tab para moverme en las cajas de texto dejo las funciones para ver si pueden ayudarme que falta para que me acepte moverme en las cajas de texto con tab???????????????????????

function letra(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;//Tecla de retroceso (para poder borrar)
patron =/[A-Z a-z áéíóú]/; // Solo acepta letras
te = String.fromCharCode(tecla);
return patron.test(te);
}
function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true; //Tecla de retroceso (para poder borrar)
patron = /[0-9.]/; // Solo acepta números
te = String.fromCharCode(tecla);
return patron.test(te);
}
  #8 (permalink)  
Antiguo 22/05/2008, 09:50
 
Fecha de Ingreso: febrero-2008
Ubicación: Buenos Aires
Mensajes: 58
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: validar entrada en las caja de texto

la funcion para validar solo numeros: funciona en FireFox?

Porque yo tengo un código que funciona en IE nada más y necesito que funcione en ambos navegadores!
  #9 (permalink)  
Antiguo 22/05/2008, 09:53
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: validar entrada en las caja de texto

Hola yakare84

Yo creo que sí. La mejor forma de saber si funciona en Firefox, es probándolo.

Saludos,
  #10 (permalink)  
Antiguo 04/03/2011, 08:01
 
Fecha de Ingreso: mayo-2007
Mensajes: 5
Antigüedad: 17 años
Puntos: 0
Respuesta: validar entrada en las caja de texto

hola yo tengo casi el mismo problema. este es el codigo que estoy utilizando

function validar(e) {
tecla = (document.all) ? e.keyCode : e.which;
tecla2 = (document.all) ? e.keyCode : e.which;
if (tecla==8) return true;
if (tecla2==13) return true
patron =/[A-Za-zñÑ\s]/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

necesito que no me acepte la tecla enter, si me pueden ayudar por favor
  #11 (permalink)  
Antiguo 04/03/2011, 09:25
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: validar entrada en las caja de texto

Hola monserratn

Te recuerdo el aviso que había al final de este tema y que parece que no has leído o no le has hecho ni caso.



Tema cerrado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:33.