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

Ajuda com innerHTML=xmlHttp.responseText


Guest Kairo

Pergunta

Olá a todos,

Seguinte, estou usando a função

function stateChanged_vec(){

if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){

document.getElementById("exibe_fabricante").innerHTML=xmlHttp.responseText;

para construir duas combos dinâmicas a partir da primeira. Meu esquema funciona da seguinte forma: Tenho o arquivo principal.asp que contém a primeira combo, no evento onChanged da primeira combo ele aciona a função acima e gera a segunda combo e assim por diante, totalizando as três combos.

O problema é que por conta do InnerHTML ele gera na página principal.asp as combos em cima de <span></span>, ela aparece na tela mais o código não aparece fazendo com que eu não tenha condições de resgatar os ids das combos geradas dinamicamente.

Neste caso, como fazer para pegar esses dados?

Meu muito obrigado...

_________________

Kairo

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Veja bem.... preciso pegar o id da primeira combo, da segunda e da terceira para montar uma select. Eu imaginava que o InnerHTML "printaria" as combos na página, e ele não faz isso. Sendo assim não tenho como pegar os ids que as combos retornam para passar os parâmetros... entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia a todos!!!

Apenas lembrando, minha necessidade original é a de filtrar via combo box campeonatos, fases e rodada, somando 3 combos, a primeira fixa e as outras duas dinâmicas, para posteriormente resgatar os valores (ids) selecionados e montar uma select que me traga somente os dados de um determinado campeonato, fase e rodada.

Para isso tenho essa função Js que "cria" a segunda e a terceira combo para mim:

ajax.js

var xmlHttp
function MandaID(str,valor){
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null){
        alert ("Este browser não suporta HTTP Request")
        return
    }
    if (valor == 1 ){
        var url="gerar.asp"
        url=url+"?cod_campeonato="+str
        url=url+"&status="+1
        url=url+"&sidjs="+Math.random()
        xmlHttp.onreadystatechange=stateChanged_camp
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)
    }
    if (valor == 2){
        var url="gerar.asp"
        url=url+"?cod_turno="+str
        url=url+"&status="+2
        url=url+"&sidjs="+Math.random()
        xmlHttp.onreadystatechange=stateChanged_tur
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)
    }
    if (valor == 3){
        var url="gerar.asp"
        url=url+"?cod_rodada="+str
        url=url+"&status="+3
        url=url+"&sidjs="+Math.random()
        xmlHttp.onreadystatechange=stateChanged_rod
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)
    }    
}
function stateChanged_camp(){
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        document.getElementById("camp").innerHTML=xmlHttp.responseText;
    }
}
function stateChanged_tur(){
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        document.getElementById("tur").innerHTML=xmlHttp.responseText;
    }
}
function stateChanged_rod(){
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
        document.getElementById("rod").innerHTML=xmlHttp.responseText;
    }
}
function GetXmlHttpObject(){
    var objXMLHttp=null
    if (window.XMLHttpRequest){
        objXMLHttp=new XMLHttpRequest()
    }
    else if (window.ActiveXObject){
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    return objXMLHttp
}
Tenho o arquivo "menu.asp" que tem a primeira combo (campeonato) e que monta a tabela conforme os filtros
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../includes/conn.asp"-->
<%
    call abre_conexao(connstring,conn)

     modo    = Request("modo") 
    
    Session.Contents.Remove("nomearquivo_s")
    Session.Contents.Remove("nomearquivo_jg_s")
    Session.Contents.Remove("id_jg_s")
    Session.Contents.Remove("id_jg_s_")
    
    id_camp     = session("id_camp")
    id_fase     = session("id_turno")
    id_rodada    = session("id_rod")
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt_BR" lang="pt_BR">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="content-language" content="pt_BR" />
    <meta http-equiv="Pragma" content="no-cache" />
    <title><%=Application("titulo")%></title>
    <link href="../../includes/layout_adm.css" rel="stylesheet" type="text/css" />
    <link href="../../includes/adm_interno.css" rel="stylesheet" type="text/css" />
    &lt;script src="ajax.js"></script>
</head>
<body>
    <div id="fullbox">
        <div id="cabecalho"></div>
            <div id="view_login">
            <table class="painel">
              <tr>
                <td class="tb_tarja_01">Borderaux e Súmulas - Menu </td>
                <td class="tb_tarja_02"><a href="menu.asp">Menu Principal</a></td>
              </tr>
            </table>
            <br />
            <% if id_camp = "" then

                sql = "SELECT codigo_campeonato, campeonato, temporada, autorizo FROM tb_camp WHERE autorizo = 1 ORDER BY temporada DESC"
                Set Rs = Conn.execute(sql)
            %>
            <center>
            <form name="form1" id="form1" method="post" action="menu.asp?id_camp=<%=session("id_camp")%>&id_fase=<%=session("id_turno")%>&id_rodada=<%=session("id_rod")%>">
                <select name="campeonato" id="campeonato" onChange="MandaID(this.value,1)" style="width:250px">
                    <option value="0" selected="selected">Campeonato</option>
                        <% while not Rs.EOF
                                Response.Write "<option value="&Rs("codigo_campeonato")&">"&Rs("campeonato")&" - "& Rs("temporada") &"</option>"
                           Rs.Movenext
                            Wend 
                         %>
                </select>
                <br />
                <div id="camp"></div>
                <div id="tur"></div>
                <div id="rod"></div>
                <input type="submit" value="Montar Tabela" />
            </form>
        </center>
        <%
            Rs.Close
            Set Rs = Nothing
        %>
        <% else 
            sql_ = "SELECT codigo_campeonato, campeonato, temporada FROM tb_camp WHERE codigo_campeonato = "&cint(cod_campeonato)
            Set Rs_camp = Conn.execute(sql_)
            
            sql = "SELECT tbc.codigo_jogo, tbc.codigo_campeonato, tbc.codigo_fase, tbc.num_rodada, tbc.codigo_clube_mandante, tbc.codigo_clube_visitante, tbc.gols_m, tbc.gols_v, convert(char(10), data, 103) AS data, tbc.horario, tbc.estadio, tbc.dia_semana, tbc.status, tbc.sumula, tbc.bordero, tbf.*, c1.nome as mandante, c2.nome as visitante FROM (((tb_camp_jogos AS tbc INNER JOIN tb_camp_fases AS tbf ON tbc.codigo_fase = tbf.codigo_fase) INNER JOIN tb_clubes c1 ON c1.codigo_clube = tbc.codigo_clube_mandante) INNER JOIN tb_clubes c2 ON c2.codigo_clube = tbc.codigo_clube_visitante) WHERE tbc.codigo_campeonato = "&id_camp&" AND tbc.codigo_fase = "&id_fase&" AND tbc.num_rodada = "&id_rodada&" ORDER BY tbc.codigo_jogo ASC, tbc.codigo_fase ASC"
            Set Rs_mtabela = Conn.execute(sql)
        %>
            <h3 class="centro">Campeonato <%=Rs_camp("campeonato")%> <%=Rs_camp("temporada")%></h3>
                <% WHILE NOT Rs_mtabela.EOF stat = Rs_mtabela("status") %>
                        <% if id_fase <> Rs_mtabela("codigo_fase") then %>
                            <div class="fases"><%=Rs_mtabela("nome_fase")%></div>
                        <% end if%>
                    <% if id_rodada <> Rs_mtabela("num_rodada") then %>
                        <div class="rodada"><%=Rs_mtabela("num_rodada")%>ª Rodada</div>
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
                          <tr>
                            <td class="datab">Data</td>
                            <td class="diab">Dia</td>
                            <td class="horb">Horário</td>
                            <td class="borb">Borderaux</td>
                            <td class="sumb">Súmula</td>
                            <td class="mand"></td>
                            <td class="gm"></td>
                            <td class="x"></td>
                            <td class="gv"></td>
                            <td class="vis"></td>
                            <td class="est">Local:</td>
                          </tr>
                        </table>
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
                          <tr>
                            <td class="datab"><%=Rs_mtabela("data")%></td>
                            <td class="diab"><%=Left(Rs_mtabela("dia_semana"),6)%></td>
                            <td class="horb"><%=Rs_mtabela("horario")%></td>
                            <td class="borb"><a href="form_upload_b.asp?id_jogo=<%=Rs_mtabela("codigo_jogo")%>" title="Borderaux">Cdtr</a> | <a href="#">Edtr</a></td>
                            <td class="borb"><a href="form_upload_s.asp?id_jogo=<%=Rs_mtabela("codigo_jogo")%>" title="Súmulas">Cdtr</a> | <a href="#">Edtr</a></td>
                            <td class="mand"><%=Rs_mtabela("mandante")%></td>
                            <td class="gm"><%=Rs_mtabela("gols_m")%></td>
                            <td class="x">X</td>
                            <td class="gv"><%=Rs_mtabela("gols_v")%></td>
                            <td class="vis"><%=Rs_mtabela("visitante")%></td>
                            <% if stat = 2 then%>
                            <td class="can">JOGO CANCELADO</td>
                            <% else %>
                            <td class="est"><%=Rs_mtabela("estadio")%></td>
                            <% end if%>
                          </tr>
                        </table>
                        <% elseif id_rodada = Rs_mtabela("num_rodada") then %>
                        <table width="100%" border="0" cellspacing="2" cellpadding="0">
                          <tr>
                            <td class="datab"><%=Rs_mtabela("data")%></td>
                            <td class="diab"><%=Left(Rs_mtabela("dia_semana"),6)%></td>
                            <td class="horb"><%=Rs_mtabela("horario")%></td>
                            <td class="borb"><a href="form_upload_b.asp?id_jogo=<%=Rs_mtabela("codigo_jogo")%>" title="Borderaux">Cdtr</a> | <a href="#">Edtr</a></td>
                            <td class="borb"><a href="form_upload_s.asp?id_jogo=<%=Rs_mtabela("codigo_jogo")%>" title="Súmulas">Cdtr</a> | <a href="#">Edtr</a></td>
                            <td class="mand"><%=Rs_mtabela("mandante")%></td>
                            <td class="gm"><%=Rs_mtabela("gols_m")%></td>
                            <td class="x">X</td>
                            <td class="gv"><%=Rs_mtabela("gols_v")%></td>
                            <td class="vis"><%=Rs_mtabela("visitante")%></td>
                            <% if stat = 2 then%>
                            <td class="">JOGO CANCELADO</td>
                            <% else %>
                            <td class="est"><%=Rs_mtabela("estadio")%></td>
                            <% end if%>
                          </tr>
                        </table>
                    <% end if %>
                        <%     
                            id_fase     = Rs_mtabela("codigo_fase")
                            id_rodada     = Rs_mtabela("num_rodada")
                        %>
                        <% Rs_mtabela.Movenext()
                            Wend %>
            <%
                Rs_camp.Close
                Set Rs_camp = Nothing
                Rs_mtabela.Close
                Set Rs_mtabela = Nothing
            %>
            <% end if %>
              </div>
          <div id="rodape"><%=Application("copyrigth")%></div>
</div>
</body>
</html>
Tenho também o arquivo "gerar.asp" que filtra os valores para as combos
<%
    st    = Request.queryString("status")
    
    if st = 1 then
    
    session.Contents.Remove("cod_campeonato")
    session("id_camp")        = Request.QueryString("cod_campeonato")
        Response.Write "<select name=fase onChange=MandaID(this.value,2) style=width:200px>"
            call abre_conexao(connstring,conn)
            sql = "SELECT * FROM tb_camp_fases WHERE codigo_campeonato = "& cint(session("id_camp"))
            set Rs = conn.Execute(sql)
                Response.Write "<option value=0>Selecione uma Fase</option>"
                
                while not Rs.Eof
                    Response.Write "<option value="&Rs("codigo_fase")&">"&Server.HTMLEncode(Rs("nome_fase"))&"</option>"
                Rs.Movenext
                Wend
            
            Rs.Close
            set Rs = nothing
            call fecha_conexao
        Response.write"</select>"
    
    elseif st = 2 then
    
    session.Contents.Remove("cod_turno")
    session("id_turno")        = Request.QueryString("cod_turno")
        Response.Write "<select name=rodada onChange=MandaID(this.value,3) style=width:150px>"        
            call abre_conexao(connstring,conn)
            sql = "SELECT DISTINCT codigo_campeonato, codigo_fase, num_rodada FROM tb_camp_jogos WHERE codigo_campeonato = "&session("id_camp")&" AND codigo_fase = "& cint(session("id_turno"))
            set Rs = conn.Execute(sql) 
                Response.Write "<option value=0>Selecione uma Rodada</option>"                
                while not Rs.Eof
                    Response.Write "<option value="&Rs("num_rodada")&">"&Rs("num_rodada")&" Rodada</option>"
                Rs.Movenext
                Wend
            
            Rs.Close
            set Rs = nothing
            call fecha_conexao
        Response.write"</select>"

    elseif st = 3 then
    session.Contents.Remove("id_rod")
    session("id_rod")    = Request.QueryString("cod_rodada")
        
    end if
%>

Áh, meu problema está em "resgatar" os ids das combos que ele gera em cima de das div <div id="tur"></div>

e <div id="rod"></div> uma vez que o InnerHTML não "printa" os valores no código...

Pra quem quiser acessar o exemplo: http://www.fgf.esp.br/adm/teste/menu.asp

Link para o comentário
Compartilhar em outros sites

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...