Foros del Web » Programando para Internet » Javascript »

Comparar fecha mayor a la actual

Estas en el tema de Comparar fecha mayor a la actual en el foro de Javascript en Foros del Web. Hola amigos tengo un formulario que al momento de cargar, php le asignara un valor a una variable de javascript algo asi <script> var fecha_hoy=<? ...
  #1 (permalink)  
Antiguo 02/09/2005, 16:43
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Comparar fecha mayor a la actual

Hola amigos tengo un formulario que al momento de cargar,
php le asignara un valor a una variable de javascript algo asi

<script>

var fecha_hoy=<? echo date("Y-n-j");?>
//esto arrojara 2005/04/05
</script>

Ahora tengo un campo text en cual se introducira una fecha con el mismo formato año-mes-dia como puedo validar despues de hacer submit,
que la fecha que se introdujo pueda solo ser aceptada si es mayor o igual a fecha_hoy, como puedo hacer esa comparación.

gracias
espero sus comentarios

saludos
__________________
gerardo
  #2 (permalink)  
Antiguo 02/09/2005, 17:35
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Prueba con esto:
Código HTML:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
var fecha_hoy = "<? print date("Y-n-j"); ?>";
</script>
</head>

<body>
<form action="" method="post" onSubmit="if (mifecha.value <= fecha_hoy) return true; else return false;">
  <p>
    <input type="text" name="mifecha">
</p>
  <p>
    <input type="submit" value="Enviar">
    </p>
</form>
</body>
</html> 
Quizas pueda falla, por el tipo de datos... deberia ser de tipo date.
  #3 (permalink)  
Antiguo 03/09/2005, 11:38
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Efectivamente

Gracias amigo por responder y si efectivamente no funciona la condicion
__________________
gerardo
  #4 (permalink)  
Antiguo 03/09/2005, 11:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola chalchis

Echa un ojo a este mensaje, a ver si te ayuda. El formato de fecha que se usa es diferente al tuyo, si tienes algún problema para "convertirlo", silve y te echaremos una mano:

http://www.forosdelweb.com/f13/comparar-fechas-274204/

Saludos,
  #5 (permalink)  
Antiguo 03/09/2005, 12:41
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Gracias con eso me basta

Gracias amigo funciona de maravilla el script
era exacto lo que buscaba.

saludos
__________________
gerardo
  #6 (permalink)  
Antiguo 03/09/2005, 12:48
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Pues me alegro mucho. Otra muesca para mi revolver
  #7 (permalink)  
Antiguo 03/09/2005, 13:37
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
jeje namas un problema

Espero no molestar pense que si ponia
2005-09-03 en las variables
podria lograrse pero me no funciona como puedo usar el script
pero usando ese formarto aa-mm-dd


<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function validar()
{


fecha1='2005-09-02';
fecha2='2005-09-03';

f1=new Date(fecha1);
f2=new Date(fecha2);
if (f1<f2) alert("f1 es menor que f2")
}
</script>
</head>

<body>
<form action="" method="post" onsubmit="return validar(this);">
<p>
<input type="text" name="mifecha">
</p>
<p>
<input type="submit" value="Enviar">
</p>
</form>
</body>
</html>

gracias saludos

espero sus comentarios
__________________
gerardo

Última edición por chalchis; 03/09/2005 a las 13:46
  #8 (permalink)  
Antiguo 03/09/2005, 14:50
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Cita:
Iniciado por chalchis
Espero no molestar pense que si ponia
2005-09-03 en las variables
podria lograrse pero me no funciona como puedo usar el script
pero usando ese formarto aa-mm-dd
...
espero sus comentarios
Código HTML:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function validar(fecha)
{
	var f1 = new Date(fecha);
	var f2 = new Date('<? print date("Y/n/j"); ?>');
	if (f1 < f2)
	{ 
		alert("f1 es menor que f2");
		return true;
	}
	else return false;
}
</script>
</head>
<body>
<form action="" method="post" onSubmit="return validar(mifecha.value);">
  <p><input type="text" name="mifecha">(aa/mm/dd)</p>
  <p><input type="submit" value="Enviar"></p>
</form>
</body>
</html> 
Al parecer en Javascript, el formato de fecha es el sgte: aa/mm/dd
  #9 (permalink)  
Antiguo 03/09/2005, 16:21
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
gracias flaviovich

copie tu codigo y al parecer me causo un conflicto lo rediseñe para solo
ver que la condicion estubiera bien.

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function validar()
{
var fecha=document.forms.formulario.mifecha.value;
var f1 = new Date(fecha);
var f2 = new Date('2005/09/03');
if (f1 < f2)
{
alert("f1 es menor que f2");
}
else
{
alert("good");
}

}
</script>
</head>
<body>
<form name="formulario" onsubmit="return validar(this)" action="">
<p><input type="text" name="mifecha">(aa/mm/dd)</p>
<p><input type="submit" value="Enviar"></p>
</form>
</body>
</html>

gracias por responder amigo
saludos
__________________
gerardo
  #10 (permalink)  
Antiguo 03/09/2005, 17:12
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
validar(this) - el parametro this esta demas. y tu le quitaste la variable que recibe.
validar(mifecha.value) - esto a mi me funciono.

Es bueno crear funciones que puedan servirnos para otros casos. Es decir, puedes hacer tu propia librería de funciones en un archivo de extension js.
Para ese caso no funcionara la funcion Validar(), porque tiene esto:
var fecha=document.forms.formulario.mifecha.value;
La solucion son los parametros!
suerte!
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 20:04.