Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/12/2012, 14:48
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 6 meses
Puntos: 15
Respuesta: Varias funciones javascript y no funciona una de ellas

Incluí los calculos de rango dentro de la funcion del numero de noches y si la toma pero el problema que tengo es que la variable js_fin no trae el dato que debería. Yo lo que quiero es que si js_fin (fecha final del datepicker) es mayor a hasta_plan (fecha php) me envie mensaje de que no puede ser y no deje aceptar el form.

Asi quedó con los cambios que hice:

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

y esta es la parte del form:

Código PHP:
Ver original
  1. <form name="form1" id="form1" action="mostrar.php" method="post">
  2. <table>
  3. <tr>
  4. <td>
  5.         <input name="id_posada" type="hidden" value="<?php echo $id_posada; ?>" />
  6.         <input name="id_plan" type="hidden" value="<?php echo $id_plan; ?>" />
  7.  
  8.         <fieldset>
  9.            <legend>1. Plan:</legend>
  10.            <label for="input-one"  class="otro"><strong>Posada:</strong></label>
  11.             <label>
  12.             <select name='select1' id='select1'>
  13.             <option name='nombre_posada' value="<?php echo $nombre_posada; ?>"><?php echo $nombre_posada; ?></option>
  14.             </select></label>
  15.  
  16.         <label for="input-two"  class="otro"><strong>Plan:</strong></label>
  17.        
  18.         <label>
  19.         <select  class="otro" name="select2" id="select2">
  20.           <option name='nombre_plan' value="<?php echo $nombre_plan; ?>"><?php echo $nombre_plan; ?></option>
  21.           </select>
  22.         </label>
  23.         <label  class="otro"><strong>Incluye:</strong></label>
  24.         <label><input type="text" name="incluye" value="<?php echo $incluye; ?>" class="fondo" readonly></label>
  25.         </fieldset>    
  26. </td>
  27.  
  28. <td>
  29.         <fieldset>
  30.             <legend>2. Personas:</legend>
  31.             <label for="input-tres" class="floflo"><strong>Adultos:</strong></label>
  32.             <label><select name="adultos" id="adultos" onChange="Sumar()">
  33.               <option value="0">Seleccionar...</option>
  34.               <option value="1">1</option>
  35.               <option value="2">2</option>
  36.               <option value="3">3</option>
  37.               <option value="4">4</option>
  38.               <option value="5">5</option>
  39.               <option value="6">6</option>
  40.               <option value="7">7</option>
  41.               <option value="8">8</option>
  42.               <option value="9">9</option>
  43.               <option value="10">10</option>
  44.               <option value="11">11</option>
  45.               <option value="12">12</option>
  46.             </select></label>
  47.            
  48.      
  49.  
  50.             <label for="input-cuatro" class="floflo"><strong>Niños Menos 6 años:</strong></label>
  51.             <label><select name="ctdad_ninos_me" id="ctdad_ninos_me" onChange="Sumar()">
  52.               <option value="0">Seleccionar...</option>
  53.               <option value="1">1</option>
  54.               <option value="2">2</option>
  55.               <option value="3">3</option>
  56.               <option value="4">4</option>
  57.               <option value="5">5</option>
  58.               <option value="6">6</option>
  59.               <option value="7">7</option>
  60.               <option value="8">8</option>
  61.               <option value="9">9</option>
  62.               <option value="10">10</option>
  63.               <option value="11">11</option>
  64.               <option value="12">12</option>
  65.             </select>
  66.             </label>
  67.             <label for="input-doce" class="floflo"><strong>Niños Mayores 6 años:</strong></label>
  68.             <label><select name="ctdad_ninos_may" id="ctdad_ninos_may" onChange="Sumar()">
  69.               <option value="0">Seleccionar...</option>
  70.               <option value="1">1</option>
  71.               <option value="2">2</option>
  72.               <option value="3">3</option>
  73.               <option value="4">4</option>
  74.               <option value="5">5</option>
  75.               <option value="6">6</option>
  76.               <option value="7">7</option>
  77.               <option value="8">8</option>
  78.               <option value="9">9</option>
  79.               <option value="10">10</option>
  80.               <option value="11">11</option>
  81.               <option value="12">12</option>
  82.             </select>
  83.             </label>
  84.             <label for="input-doce" class="floflo"><strong>Total Personas:</strong></label>
  85.             <label><input name="Resultado" type="text" id="Resultado"  class="fondo" disabled size="14"></label>
  86.     </fieldset>
  87.             </td>
  88.             </tr>
  89.  
  90.         <tr>
  91.         <td>
  92.         <fieldset>
  93.             <legend>3. Habitaciones:</legend>
  94.             <label for="input-ocho" class="floflo"><strong>Nº Habitaciones:</strong></label>
  95.             <label>
  96.             <select name="habitaciones" id="habitaciones">
  97.               <option value="0">Seleccionar...</option>
  98.               <option value="1">1</option>
  99.               <option value="2">2</option>
  100.               <option value="3">3</option>
  101.               <option value="4">4</option>
  102.               <option value="5">5</option>
  103.               <option value="6">6</option>
  104.               <option value="7">7</option>
  105.               <option value="8">8</option>
  106.               <option value="9">9</option>
  107.               <option value="10">10</option>
  108.               <option value="11">11</option>
  109.               <option value="12">12</option>
  110.             </select>
  111.             </label>
  112.             <label>Para seleccionar varios tipos de habitaciones hacer clic en cada opción y mantener presionadas teclas Ctrl + C</label>
  113.             <label for="input-siete" class="floflo"><strong>Tipo Habitación:</strong></label>
  114.             <?php
  115.             // Consultar la base de datos
  116.            
  117.             $consulta_mysql="select tipo_habitacion_c from detalle_habitaciones WHERE id='$id'";
  118.             $resultado=mysql_query($consulta_mysql,$conex);
  119.  
  120.             echo "<label><select name='tipo_habitacion_c[]' multiple size='3'>";
  121.             while($fila=mysql_fetch_array($resultado)){
  122.             echo "<option value='".$fila['tipo_habitacion_c']."'>".$fila['tipo_habitacion_c']." personas</option>";
  123.             }
  124.             mysql_free_result($resultado);
  125.             echo "</select></label>";
  126.            
  127.             ?>
  128.             </fieldset>
  129.         </td>
  130.        
  131.         <td>
  132. <fieldset>
  133.             <legend>4. Fechas:</legend>
  134.            
  135.             <label for="input-diez" class="floflo"><strong>Llegada:</strong></label>
  136.             <label><input type="text" id="datepicker_1" name="llegada" class="datepicker" /></label>
  137.             <label for="input-once" class="floflo"><strong>Salida:</strong></label>
  138.             <label><input type="text" id="datepicker_2" name="salida" class="datepicker" /></label>
  139.             <label for="input-doce" class="floflo"><strong>Nº Noches:</strong></label>
  140.             <label><input type="text" id="n_dias" name="n_dias" readonly  class="fondo" value="<?php echo $n_dias ?>"></label>
  141.             <label for="input-doce" class="floflo"><strong>Nº Días:</strong></label>
  142.             <label><input type="text" id="n_noches" name="n_noches" readonly  class="fondo" value="<?php echo $n_noches ?>"></label>
  143. </fieldset>
  144. </td>
  145. </tr>
  146. </table>
  147. <br />
  148.             <p align="center"><input class="bt1" type="button" alt="SUBMIT" name="Regresar" value="Regresar" onClick="location.href='planes.php'" /> - <input class="bt2" type="submit" alt="SUBMIT" name="Submit" value="Cotizar" /></p>
  149. </form>
__________________
Caminando con el corazón partío