Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/07/2008, 15:36
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: Sumar días a fecha actual

Hola de nuevo:

No creo que sea lo de las llaves, también puede funcionar sin ellas (aunque se entiende peor). El constructor del objeto Date es new Date (anio, mes, dia), y no dia, mes, anio como has escrito.

Por otra parte tienes que tener en cuenta que nosotros contamos enero como el mes 1, pero javascript cuenta enero como mes 0. Así que
var mes = parseInt(array_fecha[1]);
tendría que ser
var mes = parseInt(array_fecha[1])-1;

También tenemos un problema con los parseInt(). Al ponerlos sin la base conversora, si introducimos un String que comienza por cero automáticamente se toma como número octal, no decimal. Luego hay que especificar en qué base trabajamos.

El código quedaría así:
Código PHP:
<html>
<
head>
<
script>
function 
validaFecha(){
    var 
hoy= new Date();
    var 
array_fecha document.formulario.fecha.value.split("/");
    var 
anio parseInt(array_fecha[2], 10);
    var 
mes parseInt(array_fecha[1], 10)-1;
    var 
dia parseInt(array_fecha[0], 10);
    var 
fechaDeseada= new Date(aniomesdia);
    var 
diferencia fechaDeseada.getTime() - hoy.getTime();
    var 
dias Math.floor(diferencia / (1000 60 60 24));
    if (
dias>30) {
        return 
true;
    }
    else {
        
alert("Sólo servimos en un plazo superior a 30 días. La suya tiene un plazo de "+dias+" días. Introduzca una fecha posterior");
        return 
false;
    }
}
</script>
</head>

<body>
<form id="formulario" name="formulario" method="post" action="" onsubmit= "return validaFecha()" >
    <input type="text" name="fecha" />
    <input type="submit" name="Submit" value="Enviar"/>
</form>
</body>
</html> 

Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.