Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2008, 12:09
Avatar de charolastrazoe
charolastrazoe
 
Fecha de Ingreso: febrero-2008
Ubicación: En el @itscomalcalco
Mensajes: 72
Antigüedad: 16 años, 3 meses
Puntos: 5
Exclamación Problema con un IF

Hola a todos, miren tengo un problema, estoy validando horarios, en un select tengo la hora de inicio y en otro la hora final, cada uno para un dia de la semana, los values de mis select corren desde 6 hasta 20, indicando que de 6:00 am a 8:00pm seran los horarios.

Recorro ambos select en javascript con un for que va desde 1 hasta 7, que son los dias de la semana, cuando hago una comparacion de ini>fin funciona bien en algunos casos pero no en todos cuando coloco valores erroneos...am no se si me puedo dejar entender, pero aqui les dejo los codigos de mis select y como los recorro en javascript

Este seria el codigo para el select de INICIO el dia domingo
Código PHP:
<select name="1ini" id="1ini">
  <
option value="-1">--:--</option>
  <
option value="6">6:00 am </option>
  <
option value="7">7:00 am </option>
  <
option value="8">8:00 am </option>
  <
option value="9">9:00 am </option>
  <
option value="10">10:00 am </option>
  <
option value="11">11:00 am </option>
  <
option value="12">12:00 pm </option>
  <
option value="13">1:00 pm </option>
  <
option value="14">2:00 pm </option>
  <
option value="15">3:00 pm </option>
  <
option value="16">4:00 pm </option>
  <
option value="17">5:00 pm </option>
  <
option value="18">6:00 pm </option>
  <
option value="19">7:00 pm </option>
  <
option value="20">8:00 pm </option>
</
select
Mis dias corresponden asi:
1-DOMINGO
2-LUNES
...
7-SABADO

Y el codigo del select FIN es el mismo, solo cambia con el nombre 1fin

Ahora, para recorrerlos y compararlos en javascript tengo esto:

Código PHP:
var i,valor_ini,valor_fin;

    var 
dias = new Array(7);
    
dias[0]="DOMINGO";
    
dias[1]="LUNES";
    
dias[2]="MARTES";
    
dias[3]="MIERCOLES";
    
dias[4]="JUEVES";
    
dias[5]="VIERNES";
    
dias[6]="SABADO";

     var 
i,ini,fin;
    for(
i=1;i<=7;i++){
       
ini document.getElementById(i+"ini").value;
       
fin document.getElementById(i+"fin").value;
       
       if(
ini>fin){
         
alert("La hora de inicio para el dia "+dias[i-1]+" es mayor que la hora final");
       }
       if(
ini == fin){
         
alert("La hora de inicio y la hora final son iguales para el dia "+dias[i-1]);
       }
     } 
Pero por ejemplo, cuando selecciono INICIO = 3:00pm (osea en el value, 15) y FIN = 7:00am (value igual a 7) no me manda el mensaje de error de que mi hora inicial es mayor que mi hora final, pero si los valores por ejemplo son: INICIO=8:00pm y FIN = 6:00pm si envia el error

Por favor alguien ayudeme!!