Foros del Web » Programando para Internet » Javascript »

return false no detiene

Estas en el tema de return false no detiene en el foro de Javascript en Foros del Web. Saludos Código: /***************************************************************************** verificar que fecha inicial sea menor o igual a fecha culminacion ******************************************************************************/ function vfecha() { var fini = document.getElementById('fec_ini').value; var ffin = ...
  #1 (permalink)  
Antiguo 04/04/2007, 07:25
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
return false no detiene

Saludos

Código:
/*****************************************************************************
verificar que fecha inicial sea menor o igual a fecha culminacion
******************************************************************************/
function vfecha() {
	var fini = document.getElementById('fec_ini').value;
	var ffin = document.getElementById('fec_fin').value;

	if ((fini >= ffin)) {
		alert('Verifique las Fechas');
		return false;
	} else {
		if ((document.getElementById('fec_ini_rep').value != '') || (document.getElementById('fec_fin_rep').value != '') || (document.getElementById('fec_ini_rep').value == null) || (document.getElementById('fec_fin_rep').value == null)) {
			vfecha2();
		} else {
			return true;
		}
	}
}

/************************************************************************************
verificar que fechas de reprogramacion inicial sea menor o igual a fecha culminacion 
verificar que fecha de reprogramacion no sea menor o igual a fecha de actividad
aplica a reprogramacion de actividades
*************************************************************************************/
function vfecha2() {
	var fini = document.getElementById('fec_ini').value;
	var ffin = document.getElementById('fec_fin').value;
	var fini2 = document.getElementById('fec_ini_rep').value;
	var ffin2 = document.getElementById('fec_fin_rep').value;

	if ((fini2 >= ffin2)) {
		alert("Verifique las Fechas de Reprogramacion");
		return false;
	} else {
		if ((fini >= fini2) || (ffin2 >= ffin2)) {
			alert("Las Fechas de Reprogramacion no pueden ser anteriores a las Fechas de la Actividad\n Por Favor Verifique");
			return false;
		} else {
			return true;
		}
	}
}

Al pasarle fecha de culminación anterior a una fecha inicial, debería parar la ejecución del resto del script, pero no hace caso, se ejecuta...

¿ideas?

Gracias de una
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 04/04/2007, 08:08
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: return false no detiene

Hola:

La primera de las comparaciones la hace entre 2 fechas en modo texto en donde una fecha "10/1/07" es menor que "2/1/07" (aunque 10 > 2, "1" < "2")

Creo que tu problem va por ahí.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/04/2007, 08:12
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: return false no detiene

... otra cosilla:

El else llama a la función "vfecha2();" pero debería estar precedido de return: return vfecha2();

Supongo que el código lo tienes bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 04/04/2007, 08:14
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: return false no detiene

mmm, ¿me estás diciendo que js entiende eso como una cadena?

Porque en la función, el alert se muestra correctamente, sólo que no le hace caso al return false...
__________________
Gracias de todas todas
-----
Linux!
  #5 (permalink)  
Antiguo 04/04/2007, 08:15
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: return false no detiene

Cita:
Iniciado por caricatos Ver Mensaje
... otra cosilla:

El else llama a la función "vfecha2();" pero debería estar precedido de return: return vfecha2();

Supongo que el código lo tienes bien.

Saludos
Vale... creo que por ahí estaba la cosa... Gracias!
__________________
Gracias de todas todas
-----
Linux!
  #6 (permalink)  
Antiguo 04/04/2007, 08:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: return false no detiene

Cita:
Iniciado por cacr Ver Mensaje
mmm, ¿me estás diciendo que js entiende eso como una cadena?

Porque en la función, el alert se muestra correctamente, sólo que no le hace caso al return false...
Hola:

Si usas campos de formularios, siempre, siempre, siempre se trata de cadenas... no tengas la menor duda (salvo que se trate de un campo file...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 04/04/2007, 08:22
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: return false no detiene

tengo la duda, por que debe de estar precedido antes por RETURN la función?
__________________
Wow! No se que decir...
  #8 (permalink)  
Antiguo 04/04/2007, 08:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: return false no detiene

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Si usas campos de formularios, siempre, siempre, siempre se trata de cadenas... no tengas la menor duda (salvo que se trate de un campo file...)

Saludos
Vale. Gracias!
__________________
Gracias de todas todas
-----
Linux!
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 03:20.