Jump to content
Fórum Script Brasil
  • 0

Ajuda com innerHTML=xmlHttp.responseText


Guest Kairo

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...