Ir para conteúdo
Fórum Script Brasil
  • 0

ajax - atualização de horarios não consigo validar


jgd

Pergunta

Olá Pessoal,

Preciso criar um popup de mostre horários disponíveis para consulta medica conforme data e horários disponível do médico.

Então fiz um arranjo que mostra o popup a partir de botão. Nele tem faixa de horários. Coloquei os horários em um array e fiz um laço para montar a grade.

Durante a execução do laço (for next ) estou tentando através de uma função Ajax verificar se a data esta disponível... Caso afirmativo permite a seleção da data escolhida (através de um link)... Caso contrario mostraria a hora igual mais não permitiria a seleção.

Acontece que a função Ajax não - me parece que não , verifica na mesma velocidade do laço e aí, mesmo que não tenha horário disponível... Ele mostra que sim.

Então, fiz mais um laço para alimentar um outro array com a função ajax..

Estou executando ele antes de contar a grade com as faixas de horários...

Para daí comparar: array1[n] == array2[n]... No segundo laço...

Ta acontecendo a mesma coisa...

Um idéia que tive e separar em funções e ir chamando na sequencia depois que a 1ª função terminar... Só que não manjo muito do javaScript e tb Ajax para fazer isso.

Segue função que tá gerando a grade de horarios

<!--
function pophora(obj,div,tam,ddd){
var testeHora="";
var DataPesq = document.form.data_ini.value;
var obrigIdMed = document.form.obrigIdMed.value;
if (obrigIdMed==""){
alert("Selecione o médico")
document.form.obrigHora_ini.value="";
force_close('"+div+"')
}else{

horaN = new Array ("07:00", "07:15", "07:30", "07:45", "08:00", "08:15", "08:30", "08:45", "09:00", "09:15", "09:30", "09:45","10:00", "10:15", "10:30", "10:45","11:00", "11:15", "11:30", "11:45","12:00", "12:15", "12:30", "12:45","13:00", "13:15", "13:30", "13:45","14:00", "14:15", "14:30", "14:45","15:00", "15:15", "15:30", "15:45","16:00", "16:15", "16:30", "16:45","17:00", "17:15", "17:30", "17:45", "18:00", "18:15", "18:30", "18:45","19:00", "19:15", "19:30", "19:45","20:00", "20:15", "20:30", "20:45")
horaN2 = new Array

n2=0;
    for (n=1;n<= 56;n++){
function ajaxOcu(DataPesq,horaN[n2],obrigIdMed){
 n2++

}


txt  = "<table bgcolor='#efefff' style='border:solid #df1717; border-width:2' cellspacing='1' cellpadding='1' border='0' width='"+tam+"'>"
    txt += "<tr bgcolor='#FFFFFF'><td colspan='8' align='center'><table border='0' cellpadding='0' width='100%' bgcolor='#FFFFFF'><tr><td width='80%'>Agenda do Médico(a) :"+ DataPesq +" </td>"
    txt += "<td width=20% align=right><a href=java script:force_close('"+div+"') class='Cabecalho_Calendario' title='Fechar Horários'><b>X</b></a></td></tr></table></td></tr>"



    week = d = 1
    start = true;
    n2=0;
    for (n=1;n<= 56;n++){

        if (week == 1)  txt += "<tr bgcolor='#efefff' align=center>"
        if (start) {
            //alert(DataPesq+" - "+horaN[n2]+" - "+obrigIdMed);

            // aqui tento fazer a comparação

            if (horaN2[n2] == horaN[n2]){
            txt += "<td align=center bgcolor='#cccccc'>"
            txt += ""+ horaN[n2] + ""
            txt += "</td>"
            }else{
            txt += "<td align=center>"
            txt += "<a href=java script:block('"+  horaN[n2] +"','"+ obj +"','" + div +"') class='data'>"+ horaN[n2] + "</a>"
            txt += "</td>"
            }
            d ++
        }else {
            txt += "<td class='data' align=center> </td>"
        }
        week ++
        n2++
        if (week == 9)
        { 
            week = 1; txt += "</tr>"} 
        }
        txt += "</table>"
        div2 = eval (div)
        div2.innerHTML = txt 
}
}
Função ajax para pergar o horarios

function ajaxOcu(dataini,horaini,id){
var xmlHttp;
try  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e) {
  // Internet Explorer
  try {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
       }
  catch (e) {
    try {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e) {
       alert("Your browser does not support AJAX!");
       return false;
       }
      }
     }
  xmlHttp.onreadystatechange=function() {
    if(xmlHttp.readyState==4){
      /// Aqui tento alimentar o segundo array

       horaN2[n2] =xmlHttp.responseText;
      }
    }
   

  xmlHttp.open("GET","atuaHoraMedAgeOcu.asp?dataini="+dataini+"&horaini="+horaini+"&id="+id,true);
  xmlHttp.send(null);

}
//-->
Alguém poderia de dar um luz a respeito??? Opas ! Faltou passar como chamar o popup
Hora : <input type="text" name="obrigHora_ini" title="Horário de início"  readonly size="5" maxlength="5" value="">
<input TYPE="button" NAME="btnData3" VALUE="..." Onclick="java script:pophora('document.form.obrigHora_ini','pop3','300',document.form.obrigHora_ini.value)">
<span id="pop3" style="position:absolute"></span>

Agradeço qualuer ajuda.

JGD

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...