Foros del Web » Programando para Internet » Javascript »

Restar fechas desde un type="text"

Estas en el tema de Restar fechas desde un type="text" en el foro de Javascript en Foros del Web. Saludos. Señores deseo validar un campo type="text". que cuando escogan una fecha (2007-03-05) deba de ser con 2 dias de anticipacion. Caso contrario no le ...
  #1 (permalink)  
Antiguo 09/03/2007, 14:13
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Restar fechas desde un type="text"

Saludos.

Señores deseo validar un campo type="text". que cuando escogan una fecha (2007-03-05) deba de ser con 2 dias de anticipacion.

Caso contrario no le permita seguir avanzando

sld2
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #2 (permalink)  
Antiguo 10/03/2007, 12:45
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Restar fechas desde un type="text"

Hola helthon

A ver si te he entendido bien. Pon así el campo de texto:

<input type="text" onblur="validar(this)" />

y usa este código:

Código PHP:
function validar(obj) {
  
hoy = new Date();
  
fecha = new Date(obj.value);
  
hoy.setTime(hoy.getTime()-2*24*60*60*1000); // restamos 2 días
  
if (fecha hoy) {
    
alert('error');
    
obj.focus();
  }

Las fechas tienes que estar en formato yyyy/mm/dd

Saludos,
  #3 (permalink)  
Antiguo 13/03/2007, 12:01
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Re: Restar fechas desde un type="text"

Gracias : JavierB

Pero no hay forma que el formato sea yyyyy-mm-dd (2007-03-13).
Asi es como tengo el formato establecido.

Gracias otra vez
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #4 (permalink)  
Antiguo 13/03/2007, 12:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Restar fechas desde un type="text"

Hola de nuevo.

He cambiado un poco la función:

Código PHP:
function validar(obj) {
  
hoy = new Date();
  
fec obj.value.split('-').join('/');
  
fecha = new Date(fec);
  
hoy.setTime(hoy.getTime()-2*24*60*60*1000); // restamos 2 días
  
if (fecha hoy) {
    
alert('error');
    
obj.focus();
  }

Saludos,
  #5 (permalink)  
Antiguo 06/04/2007, 16:23
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Re: Restar fechas desde un type="text"

saludos JAvier una consulta en este tema:

Estoy tratando de integrear el ejemplo que me has dado en uno solo y no me sale, te indico lo que tengo.

Aqui envio desde el submit los datos del formulario
Código HTML:
<form id="formordenped" name="formordenped" method="post"   onsubmit="return validarordenpedido(this)" action="proceso.php">

<input name="txtdiaentrega" type="text" class="formtext" id="txtdiaentrega" size="30" readonly="readonly" />

aqui los valido
Código:
function validarordenpedido(formordenped) 
{
// si esta vacio
if (formordenped.txtdiaentrega.value.length < 8) {
alert("Debe de Ingresar bien los datos de  \"Fecha Entrega\".");
formordenped.txtdiaentrega.focus();
return (false);
}

// si tiene la misma fecha del día
hoy = new Date();
fec = formordenped.txtdiaentrega.value.split('-').join('/');
fecha = new Date(fec);
hoy.setTime(hoy.getTime()-2*24*60*60*1000); // restamos 2 días

if ( fecha > hoy) {
    alert('Error Pedidos con 2 días de anticipación');
    formordenped.txtapellidos.focus();
	//obj.focus();
	return (false);	
}

return (true); 
}
Junte el ejemplo que posteaste pero no me sale algun mensaje cuando lo valido

Puedes indicarme en que estoy fallando.

salu2
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
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 10:29.