Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2008, 06:36
pedro34
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Sumar días a fecha actual

Hola, necesito hacer un script que valide una fecha introducida por un cliente, es decir, el cliente pone una fecha deseada de entrega del producto, en un formulario, y el script compruebe que esa fecha es 30 días mayor que la fecha actual.

He hecho el siguiente script, pero no me funciona, y no sé por qué. Algún buen samaritano que me eche una mano???. Gracias.

<script>
function validaFecha(){

//calculo la fecha de hoy
hoy=new Date()
//alert(hoy)
//calculo la fecha que recibo
var fecha = document.formulario.fecha;
//La descompongo en un array
var array_fecha = fecha.split("/")
//si el array no tiene tres partes, la fecha es incorrecta
if (array_fecha.length!=3)
alert("Formato de fecha incorrecto.")
return false
//compruebo que los ano, mes, dia son correctos
var ano
ano = parseInt(array_fecha[2]);
if (isNaN(ano))
alert("Formato de fecha incorrecto.")
return false

var mes
mes = parseInt(array_fecha[1]);
if (isNaN(mes))
alert("Formato de fecha incorrecto.")
return false

var dia
dia = parseInt(array_fecha[0]);
if (isNaN(dia))
alert("Formato de fecha incorrecto.")
return false

//si el año de la fecha que recibo solo tiene 2 cifras hay que cambiarlo a 4
if (ano<=99)
ano +=1900

//resto los años de las dos fechas
var diferenciaAnos=hoy.getYear()- ano ;
//resto los meses de las dos fechas
var diferenciaMeses=hoy.getMonth()+1- mes
//resto los dias de las dos fechas
var diferenciaDias=hoy.getDate()- dia

if (diferenciaAnos<0)
alert ("Error Año")
document.formulario.fecha.focus()
return false;
else
{if (diferenciaMeses<0)
return false
else
{if (diferenciaDias<30)
return false
else
return true}}