Foros del Web » Programando para Internet » Javascript »

Activar boton si campos llenos y correctos

Estas en el tema de Activar boton si campos llenos y correctos en el foro de Javascript en Foros del Web. Gente, como andan? Feliz dia para todos!! Hace mucho que no entraba pero no dude y vine porque siempre me recibieron buena onda.. Esta vez ...
  #1 (permalink)  
Antiguo 20/07/2008, 18:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Activar boton si campos llenos y correctos

Gente, como andan? Feliz dia para todos!!
Hace mucho que no entraba pero no dude y vine porque siempre me recibieron buena onda..

Esta vez tengo un problema verificando si los campos de un registro son correctos (no si estan llenos)..


Hice una funcion (verificar()) bastante larga para verificar que el mail sea correcto, que el usuario este entre 6 y 12 chars, que las pass coincidan y sean entre 6 y 12 chars y que el campo pais este lleno..

Lo que quiero hacer es que el boton de Validar se active (disabled=false) solo si todos los campos anteriores sean correctos..

Lo que intente hacer fue poner 'return true' cada vez que la funcion detecte que cada campo esta bien, y despues cree otra funcion para activar el boton:

Código PHP:
function activarBoton()
    {
    if(
verificar())
        {
        
document.form.aceptar.disabled=false
        
}
        else
        {
        
document.form.aceptar.disabled=true
        
}
    } 

Bueno, el problema que tengo es que la funcion activarBoton no funca.. La meti en cada input en un onChange="activarBoton()"


Gracias y disculpen que haya sido extenso..

Saludos!
  #2 (permalink)  
Antiguo 20/07/2008, 19:23
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Activar boton si campos llenos y correctos

Hola frean:

No sé si son suficientes datos como para darte una respuesta. Todo parece estar bien, y el planteamiento es bueno. Pero quizá nos falta un poco de verificar(). Si es muy larga sólo me interesaría saber si tiene argumentos, o si el formulario se obtiene de document.form directamente. ¿verificar() te funcionaba antes, cuando estaba en el onsubmit?

Cita:
Lo que intente hacer fue poner 'return true' cada vez que la funcion detecte que cada campo esta bien, y despues cree otra funcion para activar el boton
Si tienes que cumplir varias condiciones no puedes poner varios return dentro de una misma función, ya que en el return finaliza la función.

¿Puedes postear verificar()? ¿O aunque sea un fragmento para que veamos cómo trabaja?


Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 20/07/2008, 19:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Activar boton si campos llenos y correctos

editado..............

Última edición por frean; 21/07/2008 a las 13:15
  #4 (permalink)  
Antiguo 21/07/2008, 04:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Activar boton si campos llenos y correctos

Alguien me ayuda???
  #5 (permalink)  
Antiguo 21/07/2008, 07:12
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Activar boton si campos llenos y correctos

Hola de nuevo:

Cuando trabajamos con códigos tan grandes lo mejor es postear un pequeño ejemplo que resuma nuestra duda, así es más fácil obtener ayuda y se ven más claras las cosas. En este código se ve como funciona el asunto:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>P&#225;gina nueva</title>
<style type="text/css">

</
style>
</
head>

<
body>

<
form name="fr">
    <
input type="text" name="caja1" />
    <
input type="text" name="caja2" />
    <
button id="btnEnviar" type="submit">enviar</button>
</
form>

<
script type="text/javascript">
<!--

function 
activarBoton() {
    if(
verificar()) {
        
btnEnviar.disabled=false
    
}
    else {
        
btnEnviar.disabled=true
    
}
}

function 
verificar() {
    if( 
caja1.value==="" )
        return 
false;
    if( 
caja2.value==="" )
        return 
false;
    return 
true;
}

var 
btnEnviar document.getElementById("btnEnviar");
btnEnviar.disabled true;
var 
caja1 document.fr.caja1;
var 
caja2 document.fr.caja2;
caja1.onkeyup caja2.onkeyup activarBoton;


// -->
</script>

</body>
</html> 


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 07:59.