Foros del Web » Programando para Internet » Javascript »

Validacion de campos numericos en un formulario

Estas en el tema de Validacion de campos numericos en un formulario en el foro de Javascript en Foros del Web. Hola, Tengo un formulario en el que quiero validar los campos de texto para que solo acepten numeros. Tengo varios tipos de campos (select, checkbox ...
  #1 (permalink)  
Antiguo 26/07/2003, 21:34
 
Fecha de Ingreso: junio-2003
Mensajes: 38
Antigüedad: 20 años, 10 meses
Puntos: 0
Validacion de campos numericos en un formulario

Hola,

Tengo un formulario en el que quiero validar los campos de texto para que solo acepten numeros. Tengo varios tipos de campos (select, checkbox y texto) pero solo quiero validar los de texto.

Estoy usando la función isNaN de la siguiente forma:

Código PHP:
function verifydigit()
{
       
with (document.form1)
       {
        if (
isNaN(parseInt(T1.value))) 
        {
            
alert('Valor incorrecto');
        }
        else
               
alert("OK");    
       }

Si meto solo una letra, da fallo. Si meto solo un numero, dice OK. Sin embargo, si meto un numero y una letra, 1z por ejemplo, me dice OK...

¿A alguno de vosotros os pasa? Y si es así, ¿como lo habeis arreglado?

Por otro lado, como comentaba anteriormente, de todos los campos solo quiero validar los de texto. He hecho una función tal que así:
Código PHP:

with 
(document.form1)
{
    
number elements.length;
    for (
0number a++)
    {    
    if (
elements[a].text)
    {                    
        if (
isNaN(parseInt(elements[a].value))) 
        {
            
alert('Valor incorrecto');
        }
        else
               
alert("OK");    
     }
    }    

Pero no me funciona y no chequea en los campos de texto. ¿Hay alguna manera de discriminar la validación por tipo de campo?

Os agradecería muchísimo vuestras respuestas porque estoy un poco perdido con este tema.

Un saludo,
Carlos.
  #2 (permalink)  
Antiguo 26/07/2003, 23:05
 
Fecha de Ingreso: junio-2003
Mensajes: 38
Antigüedad: 20 años, 10 meses
Puntos: 0
Hola otra vez,

He seguido probando y probando y ya he dado con el tema. Así que muchas gracias, pero ya no teneis que molestaros.

De todas maneras incluyo la solución por si le sirve a alguien:

Código PHP:
   function ValidateForm()
   {
           var 
wrong=false;
            
with (document.InputForm)
            {
             
number elements.length;
             for (
0number -a++)
             {
                if (
elements[a].disabled == false)
                {
                    if (
elements[a].type == 'text')
                    {                    
                        
// (/ /g, '') es una expresion regular para buscar espacios y substituirlos por ''
                        
if    ((elements[a].value.replace(/ /g'') == '')    || (isNaN(elements[a].value)))    
                        {
                           
elements[a].style.backgroundColor "#ffffcc";
                           
wrongtrue;
                        } 
                        else
                            
elements[a].style.backgroundColor "white";
                      }
                  }

                if (
elements[a].disabled == true)
                {
                    if (
elements[a].style.backgroundColor "#ffffcc")
                        
elements[a].style.backgroundColor "white";    
                }
             }
             if (
wrong)
                  
alert("Some mandatory data are missing or wrong. Please, check and fill the coloured fields before starting the simulation");
             else
                 
submit();
        }
    } 
Este script valida campos vacíos, con espacios en blanco y campos numéricos.
Un saludo,
Carlos.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:49.