Seguimos en la misma, porque seguimos con el php,
en concreto, para verificar fechas de inicio y fin (llegada/partida típicas de sistemas de reserva
Código HTML:
Ver original<!DOCTYPE html>
/*<![CDATA[*/
label{
display: inline-block;
width: 120px;
}
/*]]>*/
<script type="text/javascript"> //<![CDATA[
function difDias(fechaA, fechaB) {
return Math.round(Math.abs(fechaA.getTime() - fechaB.getTime())/(1000 * 60 * 60 * 24))
}
function diferenciaFecha(){
var f1 = document.getElementById('fecha_uno').value.split("/");
var d1 = new Date(f1[2],f1[1]-1,f1[0]);
var f2 = document.getElementById('fecha_dos').value.split("/");
var d2 = new Date(f2[2],f2[1]-1,f2[0]);
if(fechaValida(f1[2],parseInt(f1[1]),parseInt(f1[0])) == false){
return false;
}
if(fechaValida(f2[2],parseInt(f2[1]),parseInt(f2[0])) == false){
alert('Ingrese una fecha de partida válida, día, mes y año');
return false;
}
var dif = d2.getTime()-d1.getTime();
if(dif < 0){
alert('El día de llegada no puede ser mayor que el de partida');
return false;
}
alert('Enviando el form...')
}
function fechaValida(y,m,d){
var fecha = new Date(y,m-1,d);
var convertirFecha = ""+fecha.getFullYear() + (fecha.getMonth()+1) + fecha.getDate();
var fechaDada = "" + y + m + d;
return ( fechaDada == convertirFecha);
}
//]]>
<form action="procesa.php" onsubmit="return diferenciaFecha();"> <label for="fecha_uno">Llegada
</label> <input type="text" id="fecha_uno" /> dd/mm/aaaa
<br /> <label for="fecha_dos">Partida
</label> <input type="text" id="fecha_dos" /> dd/mm/aaaa
<br /> <input type="submit" value="Verificar" />
Y desde yá. esta validación, para ser efectiva, debe realizarse en el servidor
un ejemplo
http://foros.emprear.com/php/demo-form-ajax-captcha/
Saludos