Foros del Web » Programando para Internet » Javascript »

multiples funciones en javascript

Estas en el tema de multiples funciones en javascript en el foro de Javascript en Foros del Web. Hola a todos, estoy intentando validar dos grupos de datos mediante dos funciones en javascript, una de las funciones me valida las contraseñas (que sean ...
  #1 (permalink)  
Antiguo 16/10/2012, 14:31
 
Fecha de Ingreso: diciembre-2011
Ubicación: En algún lugar, por ahí..
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Pregunta multiples funciones en javascript

Hola a todos, estoy intentando validar dos grupos de datos mediante dos funciones en javascript, una de las funciones me valida las contraseñas (que sean iguales y sin espacios en blanco) y la otra función me valida el resto del formulario (que los campos no estén vacíos). Pero al momento de llamarlas mediante un onsubmit solo me valida la "función 1" que sale en el sgte código:


Código:
<html>
<head>
<title>mi página</title>

<!----------- función 1 ------------>

<script type="text/javascript">
    function validarPass () {
   
    var p1 = document.getElementById("pass").value;
    var p2 = document.getElementById("pass2").value;
    var espacios = false;
    var cont = 0;

    // Este bucle recorre la cadena para comprobar
    // que no todo son espacios
        while (!espacios && (cont < p1.length)) 
		{
                if (p1.charAt(cont) == " ")
                        espacios = true;
                cont++;
        }	
			
    if (espacios) {
		dhtmlx.alert({type:"alert-error", text:"Las contraseñas no pueden contener espacios en blanco",callback: function(){
       	window.document.formulario-registro.pass.focus();
    }
	});
		return false;
    }
   
    if (p1.length == 0 || p2.length == 0) {
		dhtmlx.alert({type:"alert-error", text:"Faltan datos en los campos de contraseñas",callback: function(){
       	window.document.formulario-registro.pass.focus();
    }
	});
		return false;
    }
   
    if (p1 != p2) {
		dhtmlx.alert({type:"alert-error", text:"Las contraseñas no coinciden",callback: function(){
       	window.document.formulario-registro.pass.focus();
    }
	});
		return false;
    }
    }
    </script> 



    <!----------- función 2 ------------>
    [HIGHLIGHT="Javascript"]<script>
    function vacio(cadena)  
    {                                    // DECLARACION DE CONSTANTES  
     var blanco = " \n\t" + String.fromCharCode(13); // blancos  
                                        // DECLARACION DE VARIABLES  
     var i;                             // indice en cadena  
     var es_vacio;                      // cadena es vacio o no  
     for(i = 0, es_vacio = true; (i < cadena.length) && es_vacio; i++) // INICIO  
       es_vacio = blanco.indexOf(cadena.charAt(i)) != - 1;  
    //alert(es_vacio);
     return(es_vacio);  
	 }
    function ValidaCampos(form)
	{
	
	if (Empty(form.nombre.value))
		{
		dhtmlx.alert({type:"alert-error", text:"Por favor ingrese su Nombre",callback: function(){
       	window.document.formulario-registro.nombre.focus();
    }
	});
		return false;
		}
	if (Empty(form.email.value))
		{
		dhtmlx.alert({type:"alert-error", text:"Por favor ingrese su Email",callback: function(){
       	window.document.formulario-registro.email.focus();
    }
	});
		return false;
		}
	if ((!Empty(form.email.value)) && (!isMail(form.email.value)))
		{
		dhtmlx.alert({type:"alert-error", text:"El Email ingresado no es correcto",callback: function(){
		window.document.formulario-registro.email.focus();
    }
	});
		return false;
		}
	if (Empty(form.domicilio.value))
		{
		dhtmlx.alert({type:"alert-error", text:"Por favor ingrese su domicilio",callback: function(){
       	window.document.formulario-registro.domicilio.focus();
    }
	});
		return false;
		}
	return true;
	}

</script>

</head>
<body>


<form class="form-registros"  name="formulario-registro" onSubmit="return    
           validarPass(); ValidaCampos()">
         
          <p>Ingrese su nombre y apellido</p>
          <input type="text" class="nombre-regitro-form" name="nombre"/>
          
          <p>Ingrese su e-mail</p>
          <input type="text"  name="email"/>
          
          <p>Ingrese contraseña</p>
          <input type="password"  name="pass2" id="pass2"/>
          
          <p>Repita contraseña</p>
          <div class="container-input-small">
        
          <input type="password" name="pass" id="pass"/>
        
           <p>Ingrese su domicilio</p>
           <input type="text" value=""  name="domicilio"/>

           <input type="submit" value="" class="boton-send13">
</form>

</body>
</html>
Sé que por estos lados hay gente muy aplicada en el tema
Por favor necesito ayuda, de antemano muchas gracias! :(

Última edición por tav912an; 16/10/2012 a las 14:44
  #2 (permalink)  
Antiguo 16/10/2012, 15:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: multiples funciones en javascript

Para empezar, podés validar todo en una función...
Luego, se puede saber que representan en javascript cosas como

Empty()
isMail()
dhtmlx.alert()

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 16/10/2012, 15:06
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 15 años, 2 meses
Puntos: 6
De acuerdo Respuesta: multiples funciones en javascript

Hola es facil, asi que en el onload no llames a los dos sino a la primera, lo que tienes que hacer que la primera funcion llame a la otra asi:

function validarPass () {

var p1 = document.getElementById("pass").value;
var p2 = document.getElementById("pass2").value;
var espacios = false;
var cont = 0;

// Este bucle recorre la cadena para comprobar
// que no todo son espacios
while (!espacios && (cont < p1.length))
{
if (p1.charAt(cont) == " ")
espacios = true;
cont++;
}

if (espacios) {
dhtmlx.alert({type:"alert-error", text:"Las contraseñas no pueden contener espacios en blanco",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

if (p1.length == 0 || p2.length == 0) {
dhtmlx.alert({type:"alert-error", text:"Faltan datos en los campos de contraseñas",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

if (p1 != p2) {
dhtmlx.alert({type:"alert-error", text:"Las contraseñas no coinciden",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

ValidaCampos();

}
  #4 (permalink)  
Antiguo 17/10/2012, 08:38
 
Fecha de Ingreso: diciembre-2011
Ubicación: En algún lugar, por ahí..
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: multiples funciones en javascript

Cita:
Iniciado por emprear Ver Mensaje
Para empezar, podés validar todo en una función...
Luego, se puede saber que representan en javascript cosas como

Empty()
isMail()
dhtmlx.alert()

Créeme que intenté crear una función para ambas validaciones pero no he tenido resultado. Con respecto a esas instrucciones que mencionas, están definidas en otro documento js para ahorrar código, he omitido algunas lineas de código que no son relevantes.
  #5 (permalink)  
Antiguo 17/10/2012, 08:48
 
Fecha de Ingreso: diciembre-2011
Ubicación: En algún lugar, por ahí..
Mensajes: 5
Antigüedad: 13 años
Puntos: 0
Respuesta: multiples funciones en javascript

Cita:
Iniciado por Sumerio Ver Mensaje
Hola es facil, asi que en el onload no llames a los dos sino a la primera, lo que tienes que hacer que la primera funcion llame a la otra asi:

function validarPass () {

var p1 = document.getElementById("pass").value;
var p2 = document.getElementById("pass2").value;
var espacios = false;
var cont = 0;

// Este bucle recorre la cadena para comprobar
// que no todo son espacios
while (!espacios && (cont < p1.length))
{
if (p1.charAt(cont) == " ")
espacios = true;
cont++;
}

if (espacios) {
dhtmlx.alert({type:"alert-error", text:"Las contraseñas no pueden contener espacios en blanco",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

if (p1.length == 0 || p2.length == 0) {
dhtmlx.alert({type:"alert-error", text:"Faltan datos en los campos de contraseñas",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

if (p1 != p2) {
dhtmlx.alert({type:"alert-error", text:"Las contraseñas no coinciden",callback: function(){
window.document.formulario-registro.pass.focus();
}
});
return false;
}

ValidaCampos();

}
Muchísimas gracias por responder!! Mira, lo hice como me has dicho, pero al momento de cargar la página, me salen los cuadros de validaciones al instante de la función validarPass. He probado llamando cada función de forma individual, y ambas funcionan sin problema, no sé que puede estar mal
  #6 (permalink)  
Antiguo 17/10/2012, 13:35
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 22 años, 1 mes
Puntos: 317
Respuesta: multiples funciones en javascript

¿Habías visto este tema?

Dos funciones en un input???

Etiquetas: formulario, funcion, funciones, html, input, multiples
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 04:52.