Foros del Web » Programando para Internet » Javascript »

Deshabilitar Radio button segun la hora del dia

Estas en el tema de Deshabilitar Radio button segun la hora del dia en el foro de Javascript en Foros del Web. Hola a todos, soy nuevo aquí. Y ya tengo una pregunta que me está volviendo loco... Talves es muy simple..pero parece que estoy bloqueado. Esto ...
  #1 (permalink)  
Antiguo 27/10/2005, 16:40
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
Deshabilitar Radio button segun la hora del dia

Hola a todos, soy nuevo aquí.

Y ya tengo una pregunta que me está volviendo loco...

Talves es muy simple..pero parece que estoy bloqueado.

Esto necesito lograr.

En una página tengo cuatro Radio Button para que se puede seleccionar entre cuatro opciones. Las opciones estan diseñadas para dar al usuario la posibilidad de decidir a que hora le acomoda la entrega de una carta.

Horario 1

Despachos de 13:00 a 13:30 - Horario pedido de 09:30 a 12:30

Horario 2

Despachos de 13:30 a 14:00 - Horario pedido de 09:30 a 13:00

Horario 3

Despachos de 14:00 a 14:30 - Horario pedido de 09:30 a 13:30

Horario 4

Despachos de 14:30 a 15:00 - Horario pedido de 09:30 a 14:00


Lo que deseo lograr y que hasta el momento no he podido es que suponiendo que son las 12:27 todos los radio estan habilitados. Pero si un usuario llega a la página a las 12:33 ya no pueda seleccionar el primer horario de despacho. Lo mismo para un usuario que llegue a las 13:20, solo debería poder seleccionar el 3º y 4º horario. Y así para todos los radio. Que se deshabiliten segun la hora del día y que para cuando sean las 14:00 ya no se pueda seleccionar ninguno.

Será muy dificil... he intentado muchas soluciones pero no puedo obtener lo que busco...

sé que aquí alguien me podrá ayudar..


Saludos

Y muchas gracias
  #2 (permalink)  
Antiguo 27/10/2005, 17:06
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Código HTML:
<html>
<head>
<script>
function deshabilitarCheck(){
	var fechaActual= new Date();
	var fechaPrimerTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(), 12, 30, 0);
	var fechaSegundoTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(), 13, 0, 0);
	var fechaTercerTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(),13, 30, 0);
	var fechaCuartoTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(),14, 0, 0);
	

	if (fechaActual.getTime()<fechaPrimerTurno.getTime()){
		document.formulario.primerTurno.disabled=false;
	}
	if (fechaActual.getTime()<fechaSegundoTurno.getTime()){
		document.formulario.segundoTurno.disabled=false;
	}
	if (fechaActual.getTime()<fechaTercerTurno.getTime()){
		document.formulario.tercerTurno.disabled=false;
	}
	if (fechaActual.getTime()<fechaCuartoTurno.getTime()){
		document.formulario.cuartoTurno.disabled=false;
	}
}
</script>
</head>

<body onLoad="deshabilitarCheck()">
<form name="formulario">
<input type="checkbox" name="primerTurno" disabled>
Primer turno <br>
<input type="checkbox" name="segundoTurno" disabled>
Segundo turno <br>
<input type="checkbox" name="tercerTurno" disabled>
Tercer turno 
<br>
<input type="checkbox" name="cuartoTurno" disabled>

Cuarto turno 
</form>

</body>
</html> 
Pero ten en cuenta que el usuario puede cambiar la hora de su ordenador y podría activar todas las opciones. Para esto es mejor, si se tiene la posibilidad , usar un lenguaje de servidor como php, asp, jsp, etc.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 28/10/2005, 10:38
 
Fecha de Ingreso: octubre-2005
Mensajes: 2
Antigüedad: 18 años, 6 meses
Puntos: 0
living muchas gracias por contestar..

Si estoy conciente que pueden cambiar la hora del pc. Pero eso no es problema porque no es de mucha importancia.

En tu solución usaste checkboxes, y yo necesito usar radio button para que pueda seleccionar solo una de las 4 opciones simultaneamente. Hay algun cambio especial que debería hacer para poder usarlo con radio buttons?

Si me los puedes decir :D

Gracias
  #4 (permalink)  
Antiguo 30/10/2005, 12:58
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Disculpa contestar tan tarde pero no he estado en casa este finde. Con radio buttons solamente hay que modificar un par de cosillas:

Código HTML:
<html>
<head>
<script>
function deshabilitarCheck(){
	var fechaActual= new Date();
	var fechaPrimerTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(), 12, 30, 0);
	var fechaSegundoTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(), 13, 0, 0);
	var fechaTercerTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(),13, 30, 0);
	var fechaCuartoTurno = new Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate(),14, 0, 0);
	

	if (fechaActual.getTime()<fechaPrimerTurno.getTime()){
		document.getElementById("primerTurno").disabled=false;
	}
	if (fechaActual.getTime()<fechaSegundoTurno.getTime()){
		document.getElementById("segundoTurno").disabled=false;
	}
	if (fechaActual.getTime()<fechaTercerTurno.getTime()){
		document.getElementById("tercerTurno").disabled=false;
	}
	if (fechaActual.getTime()<fechaCuartoTurno.getTime()){
		document.getElementById("cuartoTurno").disabled=false;
	}
}
</script>
</head>

<body onLoad="deshabilitarCheck()">
<form name="formulario">
<input type="radio" id="primerTurno" value="primerTurno" name="turno" disabled>
Primer turno <br>
<input type="radio" id="segundoTurno" value="primerTurno" name="turno" disabled>
Segundo turno <br>
<input type="radio" id="tercerTurno" value="primerTurno" name="turno" disabled>
Tercer turno 
<br>
<input type="radio" id="cuartoTurno" value="primerTurno" name="turno" disabled>
Cuarto turno 
</form>
</body>
</html> 
__________________
¿Te apasiona el mundo del guión? El portal del guión
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 10:03.