Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2012, 09:43
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Validar funciones antes de enviar form

Estoy tratando de que el usuario no pueda dar submit hasta tanto se cumplan las condiciones dadas en las funciones, pero no funciona. Este es mi código:

Código Javascript:
Ver original
  1. $(document).ready(function()
  2.     {
  3. $("#form1").submit(function() {    
  4.    $("#datepicker").datepicker();
  5.     }
  6. );
  7.  
  8. $("#datepicker_1").datepicker({ minDate: new Date() });
  9.  
  10. var datepicked = function() {
  11. var n_noches=  "<?php echo $n_noches; ?>";
  12. var from = $('#datepicker_1');          
  13. var to = $('#datepicker_2');          
  14. var diferencia = $('#diferencia');
  15.                                
  16. var fromDate = from.datepicker('getDate')
  17. var toDate = to.datepicker('getDate')
  18. if (toDate && fromDate) {
  19.     var difference = 0;
  20.     var oneDay = 86400000; //ms per day
  21.     var difference = Math.ceil((toDate.getTime() - fromDate.getTime()) / oneDay);
  22.     diferencia.val(difference);            
  23. }
  24.     if(difference > n_noches){
  25.     alert('el numero de noches no puede ser mayor a ' + n_noches +' noches');
  26.     return false;  
  27.     }
  28.    
  29.     var desde = "<?php echo $desde2; ?>";
  30.     var hasta = "<?php echo $hasta2; ?>";
  31.        
  32.     var desde_plan= <?php echo $php_ini; ?>; // Quita las comillas para que sea un entero
  33.     var hasta_plan= <?php echo $php_fin; ?>; // Igual aquí
  34.  
  35.     // Yo preferiría buscar por id, por compatibilidad entre navegadores
  36.     var llegada1 = document.getElementById('datepicker_1').value;
  37.    // Y ya que estás usando jquery, puedes hacerlo así:
  38.     var salida1 = document.getElementById('datepicker_2').value;
  39.        
  40.     var llegadas = llegada1.split("/");
  41.  
  42.     var ano =llegadas[0];
  43.     var mes =llegadas[1];
  44.     var dia =llegadas[2];
  45.  
  46.     var fecha1 = dia+"/"+mes+"/"+ano;
  47.  
  48.     var salidas = salida1.split("/");
  49.  
  50.     var ano1 =salidas[0];
  51.     var mes1 =salidas[1];
  52.     var dia1 =salidas[2];
  53.  
  54.     var fecha2 = dia1+"/"+mes1+"/"+ano1;
  55.  
  56.     var js_ini = new Date(fecha1).getTime()/1000;
  57.     var js_fin = new Date(fecha2).getTime()/1000;
  58.     // Compruebas si los números a comparar están correctos
  59.         if(js_fin > hasta_plan) {
  60.         alert('Fecha seleccionada fuera de rango, seleccionar fechas entre '+ desde +' hasta ' + hasta);
  61.         document.form1.llegada.focus();
  62.         return false;
  63.         }
  64.                
  65.     }          
  66.     $(function() {                                    
  67.     $('#datepicker_1, #datepicker_2').datepicker({                        
  68.     onSelect: datepicked  
  69.         });                
  70.        
  71.     });  
  72.  
  73.     });  
  74.  
  75.  
  76. function Sumar(sel1, sel2, sel3){
  77.     var total;
  78.     var sel1 = document.getElementById("adultos").value;
  79.     var sel2 = document.getElementById("ctdad_ninos_me").value;
  80.     var sel3 = document.getElementById("ctdad_ninos_may").value;
  81.     resultado = parseInt(sel1) + parseInt(sel2) + parseInt(sel3);
  82.     document.getElementById('Resultado').value = resultado;
  83. }

Por favor me pueden explicar como lo puedo hacer

gracias
__________________
Caminando con el corazón partío