Ver Mensaje Individual
  #10 (permalink)  
Antiguo 10/04/2013, 17:02
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: no me da alert y envia el formulario

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
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Llegada-Partida</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. label{
  8. display: inline-block;
  9. width: 120px;
  10. }
  11. /*]]>*/
  12. <script type="text/javascript">
  13. //<![CDATA[
  14. function difDias(fechaA, fechaB) {
  15. return Math.round(Math.abs(fechaA.getTime() - fechaB.getTime())/(1000 * 60 * 60 * 24))
  16. }
  17.  
  18. function diferenciaFecha(){
  19.  
  20. var f1 = document.getElementById('fecha_uno').value.split("/");
  21. var d1 = new Date(f1[2],f1[1]-1,f1[0]);
  22. var f2 = document.getElementById('fecha_dos').value.split("/");
  23. var d2 = new Date(f2[2],f2[1]-1,f2[0]);
  24.  
  25. if(fechaValida(f1[2],parseInt(f1[1]),parseInt(f1[0])) == false){
  26. return false;
  27. }
  28. if(fechaValida(f2[2],parseInt(f2[1]),parseInt(f2[0])) == false){
  29. alert('Ingrese una fecha de partida válida, día, mes y año');
  30. return false;
  31. }
  32. var dif = d2.getTime()-d1.getTime();
  33. if(dif < 0){
  34. alert('El día de llegada no puede ser mayor que el de partida');
  35. return false;
  36. }
  37. alert('Enviando el form...')
  38. }
  39.  
  40.  
  41. function fechaValida(y,m,d){
  42. var fecha = new Date(y,m-1,d);
  43. var convertirFecha = ""+fecha.getFullYear() + (fecha.getMonth()+1) + fecha.getDate();
  44. var fechaDada = "" + y + m + d;
  45. return ( fechaDada == convertirFecha);
  46. }
  47.  
  48. //]]>
  49. </head>
  50. <form action="procesa.php" onsubmit="return diferenciaFecha();">
  51. <p>
  52. <label for="fecha_uno">Llegada</label> <input type="text" id="fecha_uno" /> dd/mm/aaaa<br />
  53. <label for="fecha_dos">Partida</label> <input type="text" id="fecha_dos" /> dd/mm/aaaa<br />
  54. <input type="submit" value="Verificar" />
  55. </p>
  56. </form>
  57. </body>
  58. </html>

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
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.