Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/04/2013, 08:55
cachimira
 
Fecha de Ingreso: noviembre-2010
Mensajes: 24
Antigüedad: 14 años
Puntos: 0
Respuesta: Control de fechas para dos calendarios JavaScript (jscalendar)

Hola,
púes claro!
Ya lo solucioné, os copio el código para aquellos que les interese:
Código PHP:
Ver original
  1. <tr>
  2.     <td>
  3.         <input align="center" type="text" name="data_ini" id="data_ini" readonly="1" onChange="data_ok_ini('data_ini', 'data_fi')"/>
  4.         <img src="jscalendar/img_ctns.gif" id="f_trigger_a" title="Date selector" onmouseover="this.style.background='red';" onmouseout="this.style.background=''" />
  5.         <script type="text/javascript">
  6.             Calendar.setup({
  7.                 inputField     :    "data_ini",     // id of the input field
  8.                 ifFormat       :    "%d/%m/%Y",      // format of the input field
  9.                 button         :    "f_trigger_a",  // trigger for the calendar (button ID)
  10.                 singleClick    :    true
  11.             });
  12.         </script>
  13.     </td>
  14.     <td>
  15.         <input align="center" type="text" name="data_fi" id="data_fi" readonly="1" onChange="data_ok_fi('data_ini', 'data_fi')"/>
  16.         <img src="jscalendar/img_ctns.gif" id="f_trigger_b" title="Date selector" onmouseover="this.style.background='red';" onmouseout="this.style.background=''" />
  17.         <script type="text/javascript">
  18.             Calendar.setup({
  19.                 inputField     :    "data_fi",     // id of the input field
  20.                 ifFormat       :    "%d/%m/%Y",      // format of the input field
  21.                 button         :    "f_trigger_b",  // trigger for the calendar (button ID)
  22.                 singleClick    :    true
  23.             });
  24.         </script>
  25.     </td>
  26. </tr>

Código Javascript:
Ver original
  1. function data_ok_ini(sel_data_ini, sel_data_fi){
  2.     var elem_data_ini=document.getElementById(sel_data_ini);
  3.     var elem_data_fi=document.getElementById(sel_data_fi);
  4.  
  5.     if (elem_data_fi.value != '') {
  6.         if (elem_data_ini.value >= elem_data_fi.value) {        //KO data ini sempre ha de ser més petita que la data fi
  7.             alert("Error, la fecha de inicio debe ser siempre más pequeña que la fecha de fin");
  8.             elem_data_ini.value='';
  9.             elem_data_fi.value='';
  10.         }
  11.     }
  12. }
  13.  
  14. function data_ok_fi(sel_data_ini, sel_data_fi){
  15.     var elem_data_ini=document.getElementById(sel_data_ini);
  16.     var elem_data_fi=document.getElementById(sel_data_fi);
  17.  
  18.     if (elem_data_ini.value >= elem_data_fi.value) {        //KO data ini sempre ha de ser més petita que la data fi
  19.         alert("Error, la fecha de inicio debe ser siempre más pequeña que la fecha de fin");
  20.         elem_data_ini.value='';
  21.         elem_data_fi.value='';
  22.     }
  23. }