• Jueves 18 de Abril de 2024, 19:54

Autor Tema:  Validar Campo Cuando Se Escibe  (Leído 7641 veces)

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Validar Campo Cuando Se Escibe
« en: Jueves 12 de Julio de 2007, 16:15 »
0
hola a todos los del foro...tengo lo siguiente.....valido varios campos porque son de obligacion ....y ay campos que no son necesarios pedirlos por equivocacion ...mi pregunata es si habra alguna funcion que me permita ...por ejemplo..

si escribo en ese textbox que valide..por ejmplo el rut del padre del alumno .....y si no se escribe que no valide solo las demas que son por obligacion....

ojala puedan ayudarme grasias desde ya

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Validar Campo Cuando Se Escibe
« Respuesta #1 en: Jueves 12 de Julio de 2007, 17:23 »
0
Hm... Tienes un ejemplo del formulario donde quieres aplicar eso, porque no entendí muy bien lo que necesitas hacer.


Saludos.
Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Validar Campo Cuando Se Escibe
« Respuesta #2 en: Jueves 12 de Julio de 2007, 17:54 »
0
Yo tampoco entendí, las validaciones son sencillas, pero bueno da un ejemplo claro  :huh:
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #3 en: Jueves 12 de Julio de 2007, 18:02 »
0
ola ...bueno leyendo me di cuenta que no se entiende ,...la idea es validar campos solo si se escibe en el.....eso se puede?

grasias por responder

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Validar Campo Cuando Se Escibe
« Respuesta #4 en: Jueves 12 de Julio de 2007, 18:06 »
0
Te referís a algo como esto?
Código: Text
  1. <html>
  2.   <head>
  3.     <title></title>  
  4.  
  5.     <script language="JavaScript" type="text/javascript">
  6.       function controlarForm(){
  7.         if(document.formUsuario.Nombre.value==""){
  8.           alert("Ingrese su nombre antes de continuar");
  9.           return false
  10.         }
  11.         if(document.formUsuario.Apellido.value==""){
  12.           alert("Ingrese su apellido antes de continuar");
  13.           return false
  14.         }
  15.         if(document.formUsuario.NombreUsuario.value==""){
  16.           alert("Ingrese su nombre de usuario antes de continuar");
  17.           return false
  18.         }
  19.         if(document.formUsuario.Clave1.value==""){
  20.           alert("Ingrese ambas claves antes de continuar");
  21.           return false
  22.         }
  23.         if(document.formUsuario.Clave2.value==""){
  24.           alert("Ingrese ambas claves antes de continuar");
  25.           return false
  26.         }
  27.         sexo=document.formUsuario.sexo.value;
  28.         if( sexo!="" && sexo!="M" && sexo!="F" && sexo!="Poco" && sexo!="Mucho"){
  29.           alert("El campo sexo no admite el valor ingresado");
  30.           return false
  31.         }
  32.         return true
  33.       }
  34.     </script>  
  35.   </head>
  36.   <body>
  37.     <fieldset style="padding=3em">
  38.       <legend>Registro de nuevo usuario</legend>
  39.         <form name="formUsuario" action="RegistrarCliente.php" method="post" onsubmit="return controlarForm()">
  40.              
  41.           <label for="Nombre">Nombre</label>*
  42.         <br /><input type="text" name="Nombre" id="Nombre" />                      
  43.          
  44.         <br /><label for="Apellido">Apellido</label>*
  45.         <br /><input type="text" name="Apellido" id="Apellido" />
  46.  
  47.         <br /><label for="NombreUsuario">Nombre de usuario</label>*
  48.         <br /><input type="text" name="NombreUsuario" id="NombreUsuario" />
  49.  
  50.         <br /><label for="Clave1">Contraseña</label>*
  51.         <br /><input type="password" name="Clave1" id="Clave1" />
  52.  
  53.         <br /><label for="Clave2">Repetir Contraseña</label>*
  54.         <br /><input type="password" name="Clave2" id="Clave2" />
  55.  
  56.         <br /><label for="Nacionalidad">Nacionalidad</label>
  57.         <br /><input type="text" name="Nacionalidad" id="Nacionalidad" />
  58.  
  59.         <br /><label for="Provincia">Provincia</label>
  60.         <br /><input type="text" name="Provincia" id="Provincia" />
  61.  
  62.         <br /><label for="sexo">Sexo</label> Valores posibles = {M;F;Mucho;Poco}
  63.         <br /><input type="text" name="sexo" id="sexo" />
  64.  
  65.         <br /><input type="submit" value="Registrar" />
  66.       </form>
  67.     </fieldset>
  68.   </body>
  69. </html>
  70.  
En este caso los campos obligatorios (*) deben ingresarse si o si, en cambio el campo sexo solamente admite uno de los valores del conjunto {M;F;Mucho;Poco} o bien se puede dejar en blanco. Cabe aclarar que lo hice así porque no se me ocurrió otro ejemplo pero para ese caso creo que sería mejor usar un combo.

Un saludo
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #5 en: Jueves 12 de Julio de 2007, 18:35 »
0
si grasias eso es lo que kiero pero con el sigiente detalle:

supone que nacionalidad no es obligatorio asi como el ejemplo ....peor si necesitas validar que lo que se escriba sea letras y no numeros o algo que no corresponda como lo validas ????....sabiendo que solo debe validar si escribes algo en el campo si no no dice nada .....me entiendes


grasias por responder

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Validar Campo Cuando Se Escibe
« Respuesta #6 en: Jueves 12 de Julio de 2007, 19:05 »
0
Pues, tenés dos opciones, o expresiones regulares, o mezclar funciones. Recomiendo la primera.

Por ejemplo, para validar nacionalidad (solo letras) puedes hacer:

Código: Text
  1.  
  2. campo = document.formulario.campo.value;
  3. if( campo && !(campo.search(/[a-zA-Z]$/)+1) ){
  4.     alert('El campo no es válido');
  5. }
  6.  
  7.  

De esta forma, lo que chequeas es que el campo contenga solo letras.


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #7 en: Jueves 12 de Julio de 2007, 19:17 »
0
ok pero eso valida si solo se escribio algo en el campo....??? por que si no se escribe nada no debe validar

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Validar Campo Cuando Se Escibe
« Respuesta #8 en: Jueves 12 de Julio de 2007, 19:29 »
0
Si. La condición del if se compone de dos partes, donde la primera "if( campo", será verdad siempre y cuando haya un valor, si el valor es nulo (o sea, no se escribió nada, o bien se escribió un 0 ) la condición es falsa, por lo cual no hace el chequeo.

En la segunda parte "!(campo.search(/[a-zA-Z]$/)+1)", chequea si el valor del campo es erróneo, en caso de que lo sea mostrará el mensaje de error, si es que la primer parte de la condición dio verdadera.


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #9 en: Jueves 12 de Julio de 2007, 19:55 »
0
ah''' ok grasias por responder ....de verdad grasias ...lo voy a probar

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #10 en: Jueves 12 de Julio de 2007, 20:18 »
0
hola mira prove el codigo ....y no resulta ....aver si me puedes indicar lo que esta malo.....aca estan unas validaciones a un rut de la madre ..como te decia anteriormente este no es obligacion pero si se ingresa debe validar si esta bien...

mira este es el codigo y agrege lo que me dijiste

Código: Text
  1. if (document.formulario.txt_madrerut.value.length==0)
  2. {
  3.  
  4. if (formulario.txt_apoderadoparentesco.value==papa2 && formulario.txt_madrerut.value!="")
  5.  
  6.  {
  7.   formulario.txt_madrerut.focus();
  8.     return 0;
  9.  
  10.   var checkOK = "0123456789Kk";
  11.   var checkStr = formulario.txt_madredv.value;
  12.   var allValid = true;
  13.   for (i = 0;  i < checkStr.length;  i++)
  14.   {
  15.     ch = checkStr.charAt(i);
  16.     for (j = 0;  j < checkOK.length;  j++)
  17.       if (ch == checkOK.charAt(j))
  18.         break;
  19.     if (j == checkOK.length)
  20.     {
  21.       allValid = false;
  22.       break;
  23.     }
  24.   }
  25.  }
  26.  
  27.  
  28.   if (!allValid)
  29.   {
  30.     alert("Ingrese sólo números en el campo \"RUT Madre\".");
  31.     formulario.txt_madrerut.focus();
  32.     return 0;
  33.   }
  34.  
  35.         c=formulario.txt_madrerut.value;
  36.         a=c.length;
  37.         if(a<8){
  38.              alert('Rut Madre NO válido')
  39.              formulario.txt_madrerut.focus();
  40.              return 0;
  41.            }
  42.  
  43. }
  44.  
  45. if (formulario.txt_madredv.value == null || formulario.txt_madredv.value=="")
  46.   {
  47.     alert("Ingrese Digito verificador Madre");
  48.     formulario.txt_madredv.focus();
  49.     return 0;
  50.  
  51.  
  52.  
  53.   var checkOK = "0123456789Kk";
  54.   var checkStr = formulario.txt_madredv.value;
  55.   var allValid = true;
  56.   for (i = 0;  i < checkStr.length;  i++)
  57.   {
  58.     ch = checkStr.charAt(i);
  59.     for (j = 0;  j < checkOK.length;  j++)
  60.       if (ch == checkOK.charAt(j))
  61.         break;
  62.     if (j == checkOK.length)
  63.     {
  64.       allValid = false;
  65.       break;
  66.     }
  67.   }
  68.  
  69.  
  70.   if (!allValid)
  71.   {
  72.     alert("Dígito Verificador No válido");
  73.     formulario.txt_madredv.focus();
  74.     return 0;
  75.   }
  76.  
  77. }
  78.       var suma=0;
  79.   var mult=2;
  80.         cc=formulario.txt_madrerut.value;
  81.         aa=cc.length;
  82.  
  83.   if (formulario.txt_madredv.value=="K" || formulario.txt_madredv.value=="k") formulario.txt_madredv.value="10"
  84.   for (i=aa-1;i>=0;i--){
  85.     ccc=cc.charAt(i);
  86.     suma+=parseInt(ccc,10)*mult;
  87.     mult++;
  88.     if (mult>7) mult=2;
  89.   }
  90.  
  91.   var calculado=11-suma%11;
  92.   if (calculado==11) calculado=0;
  93.   if(parseInt(formulario.txt_madredv.value)!=calculado){
  94.            alert("RUT Madre ingresado NO es válido\npor favor ingrese nuevamente")
  95.           formulario.txt_madrerut.focus();
  96.            return 0;
  97.         }
  98.  
  99.  
  100. }
  101.  

bueno ojala me puedas ayudar grasias

Altareum

  • Miembro MUY activo
  • ***
  • Mensajes: 327
    • Ver Perfil
    • http://www.avian.com.ar
Re: Validar Campo Cuando Se Escibe
« Respuesta #11 en: Jueves 12 de Julio de 2007, 21:34 »
0
Primero y antes que nada, si "formulario" es el valor del atributo name del form, te recomiendo que con JS lo invoques como document.formulario (para una mejor compatibilidad).

Por otro lado, sobra una llave }, así que supongo que es parte de una función, o hay algo más... Así que en que línea, o mejor que if es el que no funciona, porque sin el formulario es algo complicado darme donde no funciona como quieres, ya que errores de código no hay...

Esto es lo que necesitas validar??
Código: Text
  1. var checkOK = "0123456789Kk";
  2. var checkStr = formulario.txt_madredv.value;
  3.  


Altareum.
El postre!, el postre!, el postre!, el postre!, el postre!, el postre!.....
 | Klinka | Kiree | Avian |

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #12 en: Jueves 12 de Julio de 2007, 22:12 »
0
hola no ese codigo debi borrarlo no sirve .....lo que debo validar es si el rut y el digito verificador son correctos pero como decia anteriormente si se ongresa solamente que valide .so no ..no

grasias por toda tu ayuda de verdad ojala puedas ayudarme

natashca

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #13 en: Jueves 12 de Julio de 2007, 23:45 »
0
ola bueno no se si puedes ayudarme mas grasias

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Validar Campo Cuando Se Escibe
« Respuesta #14 en: Viernes 13 de Julio de 2007, 00:42 »
0
cual es el problema con el codigo de Angel_K_ido y Altareum funcionan bien...


solo validas que el campo en cuestion no este vacio como el ejemplo
Código: Text
  1.  
  2. if( nacionalidad!="")
  3.   {
  4.       // Validar campo nacionalidad
  5.      
  6.   }
  7.  

aqui hay una funcion para validar valores vacios
Código: Text
  1. //Validacion de campos de texto no vacios by Mauricio Escobar
  2. //Iván Nieto Pérez
  3.  
  4. function vacio(q) {
  5.         for ( i = 0; i < q.length; i++ ) {
  6.                 if ( q.charAt(i) != " " ) {
  7.                         return false
  8.                 }
  9.         }
  10.         return true
  11. }
  12.  

Código: Text
  1.  
  2. if(!vacio(nacionalidad))
  3.   {
  4.       // Validar campo nacionalidad
  5.      
  6.   }
  7.  


el codigo de Altareum es muy bueno yo no le veo porque no te ha servido  :blink:


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================