• Domingo 17 de Noviembre de 2024, 19:29

Autor Tema:  Validación Con Javascript  (Leído 3125 veces)

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Validación Con Javascript
« en: Martes 5 de Diciembre de 2006, 20:06 »
0
Buenas amigos de SoloCodigo:
Tengo un formulario con n cantidad de InputText y me gustaría poder validar cada uno de ellos individualmente una vez que pierden el enfoque (onBlur); si alguno no pasa la regla de validación quisiera que se quedara en el control. No lo he conseguido debido a que tengo poca experiencia en Java.
Lo he intentado poniendo una funcion como esto:

        function ValidarCampoNulo(IdCampo)
        {        if (document.getElementById(IdCampo).value == "00000000" ||
                  document.getElementById(IdCampo).value == NULL)
                 {  document.getElementById(IdCampo).focus()
                     return FALSE}
         }

Ésta función la pongo para que se abilite en el evento onBlur de cada control del formulario pasándole como parámetro el "Id" del control que quiero validar, pero no logro el resultado deseado, o sea no hace nada.
¿Qué estoy haciendo mal?
Les agradezco de antemano su valioso apoyo.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Validación Con Javascript
« Respuesta #1 en: Martes 5 de Diciembre de 2006, 20:25 »
0
Pues yo no te recomiendo que lo hagas de esta manera ya que si un usuario tiene que realizar otra acción no va a poder salir del campo input en el que esté. Te recomiendo que valides todo junto cuando se precione el botón submit o se precione enter en algún campo así:

Código: Text
  1. <script language="JavaScript">
  2.   function frmLogueo(){
  3.     if(document.logueo.usuario.value==""){
  4.       alert("Ingrese su nombre de usuario antes de continuar");
  5.       return false
  6.     }
  7.     if(document.logueo.clave.value==""){
  8.       alert("Ingrese su clave antes de continuar");
  9.       return false
  10.     }
  11.     return true
  12.   }
  13. </script>
  14.  
  15.  
  16. <HTML>
  17.   <HEAD>
  18.     <title>........................</title>
  19.   <HEAD>
  20.   <BODY>
  21.     <FORM name="logueo" action="Acceso.asp" Method="POST" onSubmit="return frmLogueo()">
  22.       <table>
  23.         <TR>
  24.           <TD><label for="usuario">Usuario:</label></TD>
  25.           <TD><INPUT TYPE=Text Name=usuario ></TD>
  26.         </TR>
  27.         <TR>
  28.           <TD><label for="clave">Clave:</label></TD>
  29.           <TD><INPUT TYPE=password Name=clave></TD>
  30.         </TR>
  31.         <TR>
  32.           <TD colspan=2><INPUT TYPE=Submit Value="Aceptar"></TD>
  33.         </TR>
  34.       </Table>
  35.     </FORM>
  36.   </BODY>
  37. </HTML>
  38.  
"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.

Manuel Castro Gómez

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Validación Con Javascript
« Respuesta #2 en: Miércoles 6 de Diciembre de 2006, 19:08 »
0
Te agradezco la sugerencia que me das, aunque ya la habia pensado. Solo por curiosidad ¿cómo puedo lograr lo que me había propuesto antes?
Disculpa tanta ignorancia.    Gracias de nuevo.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Validación Con Javascript
« Respuesta #3 en: Miércoles 6 de Diciembre de 2006, 19:49 »
0
En ese caso debes llamar al script frmLogueo() desde algún evento que capture la salida del cursor del textbox: "OnBlur".

Algunos eventos (Se que anda en IE pero no se que tal los demás, yo no conozco los estándares y microsoft tampoco):

Código: Text
  1.  
  2. OnFocus             Obtención del Foco
  3. OnBlur              Pérdida del Foco
  4. OnClick              Click
  5. OnMouseUp        Cuando se suelta un Botón del Mouse
  6. OnMouseDown      Cuando se Oprime un Botón del Mouse
  7. OnMouseOver       Cuando el puntero pasa sobre un objeo
  8. OnMouseOut        Cuando el puntero sale de un objeo
  9. OnLoad             Cuando se carga un Objeto Window
  10. OnUnload          Cuando se descarga un Objeto Window
  11. OnError             Cuando sucede un error en el objeto
  12.  
  13.  
"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.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Validación Con Javascript
« Respuesta #4 en: Miércoles 6 de Diciembre de 2006, 20:35 »
0
estoy conjeturando porque no tengo mucho tiempo pero yo lo haría así:

function valida(indice){
 if(document.nombredemiform[indice].value=""){
  alert("Este campo debe contener info");
  document.nombredemiform[indice].focus();
 }
}

<form name='nombredemiform'....>
<input type='text' name="..." onblur="valida(0)"/>
<input type='text' name="..." onblur="valida(1)"/>
<input type='text' name="..." onblur="valida(2)"/>
</form>

Espero haber sido de utilidad, bye ;)

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Validación Con Javascript
« Respuesta #5 en: Miércoles 6 de Diciembre de 2006, 21:01 »
0
Es cierto. Me olvide de darle el foco.
"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.

punteroNULO

  • Miembro activo
  • **
  • Mensajes: 73
    • Ver Perfil
Re: Validación Con Javascript
« Respuesta #6 en: Jueves 7 de Diciembre de 2006, 09:50 »
0
El código anterior tiene un fallo en la comparación de la condición. La condición de igualdad se expresa con '=='.
Lo correcto sería:
Código: Text
  1.  
  2. if(document.nombredemiform[indice].value==&#34;&#34;)
  3.  
  4.  

De todas formas el código no funciona por un detalle:
Cuando se sale de un campo para entrar en otro se dispara el evento onblur, se realiza la comprobación. Pero en el caso de que le devolvamos el foco al primer campo estamos saliendo del segundo, con lo que se produce otro onblur para el segundo, formandose un bucle infinito.


Yo comprobaria los datos al enviar el formulario como se dijo anteriormente, o en todo caso no devolver el foco al elemento.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Validación Con Javascript
« Respuesta #7 en: Jueves 7 de Diciembre de 2006, 19:18 »
0
muy cierto, no es una justificante pero lo hice a la carrera :P , de hecho lo mencione