Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2014, 10:02
plasma_go
 
Fecha de Ingreso: mayo-2014
Ubicación: Mexico
Mensajes: 79
Antigüedad: 9 años, 11 meses
Puntos: 2
Error al validar javascript

Buenos dias estoy atorado con un problema de validacion, estoy utilizando un calendario que al selecionar una fecha, que por medio de ajax me genera un combo de los horarios disponibles, pero en algunos casos los sabados y domingos no tiene horario me genera un combo vacio.

Quiero validar si al no selecionar la fecha, es decir que no aparezca el combo me mande un mensaje, que al selecionar una fecha pero que el combo este vacio y que un campo de texto no este vacio o sus caracteres sean menor a 12.

Mi codigo html, puse lo que considero importante, pero si falta algo me avisa.
En el div class = "fecha" es donde aparece mi calendario
En el div class = "rpu" es donde sale los caracteres
En el div class = "resultado" es donde aparece el combobox.

Código HTML:
Ver original
  1. <form id="form" name="formulario" action="funciones/agendar.php?idcausa=<?php echo $idcausa?>" method="post"  onsubmit="return validar()">
  2.        
  3.        <div class="fecha"><h2>Selecione fecha:</h2></div>
  4.        <div id="container" class="calendario"></div>
  5.        <div class="rpu"><h2>Inserte su numero<br /> de servicio:</h2></div>
  6.        <div id="resultado"></div>
  7.    
  8.        <input type="submit" value="Agendar" class="boton" onclick="validar()"/>
  9. </form>
Código Javascript:
Ver original
  1. function validar()
  2. {
  3.    
  4.     var a;
  5.     var b; 
  6.     a = document.getElementById("horario");
  7.     b = document.getElementById("horario").value;
  8.    
  9.     if(document.getElementById("horario").value == "")
  10.     {
  11.         alert("Selecione una fecha y un horario para agendar");
  12.         return false;
  13.     }
  14.     else
  15.     {
  16.         if(document.getElementById("horario") == null)
  17.         {
  18.             alert("Selecione una fecha y un horario para agendar");
  19.             return false;
  20.         }
  21.         else
  22.         {
  23.             if(document.formulario.display.value.length < 12)
  24.             {
  25.                 alert('El numero de servicio debe de ser 12 caracteres');
  26.                 return false;
  27.             }
  28.             else
  29.             {  
  30.                 return true;
  31.             }
  32.         }
  33.     }
  34. }

Lo gracioso es que al probar por separado, la funcion donde no aparece el combo funciona la validacion.
Código Javascript:
Ver original
  1. function validar()
  2. {
  3.     var a;
  4.     a = document.getElementById("horario")
  5.     if(a == null)
  6.     {
  7.         alert("Selecione una fecha y un horario para agendar");
  8.         return false;
  9.     }
  10.     else
  11.     {
  12.         if(document.formulario.display.value.length < 12)
  13.         {
  14.             alert('El numero de servicio debe de ser 12 caracteres');
  15.             return false;
  16.         }
  17.         else
  18.         {  
  19.             return true;
  20.         }
  21.     }
  22. }

El problema es al unirlo