Foros del Web » Programando para Internet » Javascript »

funciones, true o false

Estas en el tema de funciones, true o false en el foro de Javascript en Foros del Web. estimados... estoy armandome unas funciones para validar formularios, como es muy largo arme dos para facilitarme las cosas.. Código PHP: function  validar_campo ( campo ){ ...
  #1 (permalink)  
Antiguo 10/08/2006, 19:24
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 6 meses
Puntos: 1
funciones, true o false

estimados... estoy armandome unas funciones para validar formularios, como es muy largo arme dos para facilitarme las cosas..

Código PHP:
function validar_campo(campo){
if(
campo.value==''){
alert('el campo esta vacio')
return 
false
}
return 
true

y por otro lado para validar toodo el formulario...

Código PHP:
function validar_formulario(formulario){
validar_campo(formulario.campo1);
validar_campo(formulario.campo2);
return 
true

no me esta funcionando, porque luego de verificar el campo... sigue de largo y envia el formulario, ni se fija que paso con campo2
estoy complicado con true / false no ?
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 10/08/2006, 19:47
 
Fecha de Ingreso: junio-2006
Mensajes: 175
Antigüedad: 17 años, 11 meses
Puntos: 0
te recomiendo una extenxion (si etas trabajando con dreamweaver), que crea el codigo por ti, se llama yaromat, es super practica, espero te ayude saludos...
  #3 (permalink)  
Antiguo 10/08/2006, 20:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola:

La primera parece estar bien, pero la segunda encuentra un return y se salta la segunda... lo que debes hacer siempre es que el return sea la última instrucción...
Los valores booleanos los puedes "acumular" muy fácilmente, por ejemplo usando una variable inicializada a true y por cada elemento del formulario aplicarle un "Y lógico" (and)

function validar_formulario(formulario){
valida = true;
valida = (valida && validar_campo(formulario.campo1));
valida = (valida && validar_campo(formulario.campo2));
return valida;
}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 11/08/2006, 08:51
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 6 meses
Puntos: 1
no pasa a la segunda ejecucion de la primera funcion poruqe la primera dio false?
que hace detiene el script directamente si el resultado de la primer funcion invocada es false?
__________________
On error no hago nada porque deje de fumar...
  #5 (permalink)  
Antiguo 11/08/2006, 08:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Tal vez sea por la forma de llamar a la función.

¿Lo tienes puesto en el evento onsubmit del tag form pidiéndole un valor de retorno?

<form onsubmit="return validar_formulario(this)" >
  #6 (permalink)  
Antiguo 11/08/2006, 09:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Cita:
Iniciado por dieguicho Ver Mensaje
no pasa a la segunda ejecucion de la primera funcion poruqe la primera dio false?
que hace detiene el script directamente si el resultado de la primer funcion invocada es false?
Hola:

Me parece que no has mirado bien mi mensaje...

... Bueno, iba a desarrollar un poco más la respuesta, pero veo que se ha adelantado tunait (¡Hola !)

Bueno... no prosigo en espera que contestes a tunait.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 11/08/2006, 09:08
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 6 meses
Puntos: 1
si, es correcto la estoy llamando como dice tunait...
__________________
On error no hago nada porque deje de fumar...
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 05:20.