Foros del Web » Programando para Internet » Javascript »

elegir una fecha

Estas en el tema de elegir una fecha en el foro de Javascript en Foros del Web. Hola buenas a todos. He estado intentando un script de javascript que me permita elegir una fecha salvo los fines de semana. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 06/10/2010, 03:43
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
elegir una fecha

Hola buenas a todos.
He estado intentando un script de javascript que me permita elegir una fecha salvo los fines de semana.

Código Javascript:
Ver original
  1. function Dia_pasado_error()
  2.     {
  3.     Fecha_elegida = document.getElementById('dia_cita').value;
  4.    
  5.  
  6.     var nombres_dias = new Array ( "Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado" )
  7.     var nombres_meses = new Array ( "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" )
  8.    
  9.     var fecha_actual = new Date()
  10.    
  11.     dia_mes = fecha_actual.getDate()        //dia del mes.
  12.     dia_semana = fecha_actual.getDay()      //dia de la semana.
  13.     mes = fecha_actual.getMonth() + 1
  14.     anio = fecha_actual.getFullYear()
  15.    
  16.     if ( Fecha_elegida < dia_mes )  // No te permite elegir una fecha anterior a la que estamos.
  17.         { document.getElementById('valido').style.fontWeight = " bold " ;
  18.         document.getElementById('valido').style.color = " #880000 " ;
  19.         document.getElementById('valido').innerHTML = " No puedes elegir una fecha ya pasada. " ; }
  20.  
  21.     if ( Fecha_elegida == dia_mes ) // No te permite elegir la fecha en la que estamos.
  22.         { document.getElementById('valido').style.fontWeight = " bold " ;
  23.         document.getElementById('valido').style.color = " #880000 " ;
  24.         document.getElementById('valido').innerHTML = "No puedes concertar una cita para hoy mismo."  }
  25.    
  26.     if ( ( Fecha_elegida == dia_mes + 1 ) || ( Fecha_elegida == dia_mes +2 ) ) //No te permite elegir una fecha dos dias posteriores a la actual.
  27.         { document.getElementById('valido').style.fontWeight = " bold " ;
  28.         document.getElementById('valido').style.color = " #880000 " ;
  29.         document.getElementById('valido').innerHTML = " Escoge una fecha dos dias despues a la de hoy. " ; }
  30.    
  31.     if ( ! ( ( Fecha_elegida < dia_mes ) || ( Fecha_elegida == dia_mes ) || ( Fecha_elegida == dia_mes + 1 ) || ( Fecha_elegida == dia_mes + 2 ) ) ) // Si no cumplen las sentencias anteriores me da especifica la fecha elegida.
  32.         { document.getElementById('valido').style.fontWeight = " bold " ;
  33.         document.getElementById('valido').style.color = " #011F87 " ;
  34.         document.getElementById('valido').innerHTML = " Fecha concertada para el dia " + Fecha_elegida + " de " + nombres_meses[mes - 1] + " de " + anio + "." ; }
  35.     }

Muchas gracias.
  #2 (permalink)  
Antiguo 06/10/2010, 04:13
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: elegir una fecha

Hola

Para excluir los fines de semana puedes hacer:
Código Javascript:
Ver original
  1. if  (dia_semana==0 || dia_semana == 6) {
  2.    // fecha no permitida
  3. }
  #3 (permalink)  
Antiguo 06/10/2010, 04:31
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
Respuesta: elegir una fecha

Gracias por contestar.

Pero no me explique bien.
Yo cogo un dia desde el valor de un option

Código HTML:
Ver original
  1. Para el dia <select id="dia_cita"><option value="1" selected="selected">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select>  <input name="Bot&oacute;n" type="button" class="Estilo2" style="border:1" onclick="Dia_pasado_error()" value="Ok">

y la guardo en la variable fecha_elegida

Código Javascript:
Ver original
  1. Fecha_elegida = document.getElementById('dia_cita').value;

Lo que quiero es que al elegir una fecha y si esta es un fin de semana, me lo excluya y no me deje hacer la cita.
Siento no haberlo explicado de antes.
Gracias
  #4 (permalink)  
Antiguo 06/10/2010, 04:45
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
Respuesta: elegir una fecha

He provado esto:

Código Javascript:
Ver original
  1. if ( fecha_elegida == dia_semana )
  2.         {
  3.             if ( dia_semana==0 || dia_semana == 6 ) { alert ( "Fecha no permitida" );}
  4.     else
  5.             {alert ( "Fecha permitida" )}
  6.         }

Esto me compara el valor del option, osea la fecha elegida, y la compara con el valor del dia de la semana, y si son iguales compara el dia_semana con los valores de sabado y domingo y los invalida.
Pero no me funciona.
  #5 (permalink)  
Antiguo 06/10/2010, 05:51
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: elegir una fecha

A ver si asi te serviria:

Código Javascript:
Ver original
  1. miFecha = new Date(anio, mes, Fecha_elegida);
  2.  
  3. if (miFecha.getDay()==0 || miFecha.getDay()==6) {
  4.  
  5.    alert('fecha no permitida');
  6.  
  7. }
  #6 (permalink)  
Antiguo 06/10/2010, 06:03
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
Respuesta: elegir una fecha

Pero esa funcion no te devuelve el dia. Solo lo evalua si es 6 y el siguiente

Mira dale a 6 y te dara el resultado pero si le da s al 8 ya no hace nada.

http://angelgon.brinkster.net/Prueba-4/prueba.html
  #7 (permalink)  
Antiguo 06/10/2010, 08:54
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: elegir una fecha

El metodo getDay() de un objeto Date devuelve el numero de dia de la semana de 0 a 6, siendo el 0 el domingo.

Prueba cambiando:
miFecha = new Date(anio, mes-1, Fecha_elegida);


Rechazara sabados y domingos
sabados -> getDay() = 6
domingos -> getDay() = 0

El 8 lo aceptara, ya que el 8-10-2010 es viernes
  #8 (permalink)  
Antiguo 06/10/2010, 09:04
Avatar de Batan  
Fecha de Ingreso: septiembre-2010
Ubicación: Madrid
Mensajes: 408
Antigüedad: 13 años, 7 meses
Puntos: 63
Respuesta: elegir una fecha

Si se lo del day.
Lo que si no me esperaba era lo de restar al mes para que fuese el mes en el que estuviera.

Salio bien muchas gracias

Etiquetas: elegir, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:36.