none
Pegar ID de um elemento em outro arquivo RRS feed

  • Pergunta

  • Tem como eu pegar o ID de um elemento que está em outro arquivo por javascript? o getElementByID(), ele é local, ou seja, eu só consigo pegar o ID do elemento no mesmo documento. E quando está em outro documento/arquivo? Como eu faço? Tipo:

    Tenho duas páginas A e B. Em B eu defino uma table(html), monto a table com os dados vindo do Oracle e em A, por ajax, descarrego a table em uma <div> qualquer. Só que eu preciso pegar o ID dessa table, para fazer uma tratamento qualquer, tipo, aplicar um estilo ou um display: none. Não necessariamente precisa ser o ID, mas algo que eu identifico que seja aquela table, claro que por ID seria o ideal, até porque ele é único. Tem como eu fazer isso?

    quarta-feira, 30 de setembro de 2015 10:46

Todas as Respostas

  • Sim, tu consegue normalmente pelo seletores usando jQuery !!!

    $("#nome_do_selecto")

    Fulvio Cezar Canducci Dias

    quarta-feira, 30 de setembro de 2015 12:45
  • Mas como eu faço isso? Tipo, o ID que eu quero está na página B e a chamada ao ID está na página A. Como eu faço então? Não consegui chamar de um lugar para outro.
    quarta-feira, 30 de setembro de 2015 18:22
  • Cole o que tem na tela A e na Tela B por favor!

    Ou seja, o seu código!


    Fulvio Cezar Canducci Dias

    quarta-feira, 30 de setembro de 2015 22:54
  • Na tela A tenho minha função ajax:

    function CarregaTabelaDenteD() {

    var str = '';

            $.ajax({
                url: 'odo_hes0002d.asp?item_medico=<%=item_medico%>&tipo_grid=grid_dentes_d',
                type: 'GET',
                success: function (data) {

    str = '<table border="1" id="grid_dentes_d">';
    str = str + '<thead class="EbaGridClassTop">';
    str = str + '<tr>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Habilitado</center></th>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Código</center></th>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Nome</center></th>';
    str = str + '</tr>';
    str = str + '</thead>';

    str = str + '<tbody class="EbaGridClassBody">';

    str = str + data;

                    $('#retornoDentesD').html(str);
                },
                error: function (error) {
                }
            })
    }

    E também tenho a função que pega os ID's:

           

    function habilita_campos_odonto() {
            var indTipoOdonto = document.form01.ind_tipo_odonto.value;
            document.getElementById('dente_label').style.display = 'none';
            document.getElementById('dente_campos').style.display = 'none';
            document.getElementById('face_label').style.display = 'none';
            document.getElementById('face_campos').style.display = 'none';
            document.getElementById('tipo_dente_label').style.display = 'none';
            document.getElementById('tipo_dente_campos').style.display = 'none';
            document.getElementById('grid_regiao').style.display = 'none';
            document.getElementById('regioes').style.display = 'none';
            document.getElementById('field_regiao').style.display = 'none';
            document.getElementById('grid_dentes_d').style.display = 'none';
            document.getElementById('grid_dentes_p').style.display = 'none';
            document.getElementById('field_dt_permanentes').style.display = 'none';
            document.getElementById('field_dt_deciduos').style.display = 'none';

            document.getElementById('field_dentes_p').style.display = 'none';
            document.getElementById('field_dentes_d').style.display = 'none';
            document.getElementById('tipo_dente_campos_d').style.display = 'none';


            if (document.form01.ind_tipo_odonto.value == 1)  //POR DENTE
            {

                limpaGridDente("grid_dentes_d");
                limpaGridDente("grid_dentes_p");

                document.getElementById('dente_label').style.display = '';
                document.getElementById('dente_campos').style.display = '';
                document.getElementById('tipo_dente_label').style.display = '';
                document.getElementById('tipo_dente_campos').style.display = 'none';
                document.getElementById('grid_regiao').style.display = 'none';
                document.getElementById('regioes').style.display = 'none';
                document.getElementById('field_regiao').style.display = 'none';
                document.getElementById('qtd_face_dente_de').value = '';
                document.getElementById('qtd_face_dente_ate').value = '';
                document.getElementById('grid_dentes_p').style.display = '';
                document.getElementById('grid_dentes_d').style.display = '';
                document.getElementById('field_dentes_p').style.display = '';
                document.getElementById('field_dentes_d').style.display = '';
                document.getElementById('tipo_dente_campos_d').style.display = '';
            }

    }

    E em B tenho a montagem do corpo da tabela, com os dados vindos do Oracle(Função em ASP clássico). Antes eu montava todo a table aqui, mas como estou com problemas com o ID, resolvi montar no ajax o cabeçalho da table, com o ID na página A e deixar aqui apenas os dados do Oracle. Mesmo assim não consegui resolver, continua não achando o ID da table na página A.

    Case "grid_dentes_d" 'GRID DENTES PERMANENTES

            redim Vet_PL(2,4)

            Vet_PL(1, 1) = "IN"
       Vet_PL(1, 2) = "adVarChar"
       Vet_PL(1, 3) = "p_item_medico"
       Vet_PL(1, 4) = request("item_medico")

            Vet_PL(2, 1) = "IN"
       Vet_PL(2, 2) = "adVarChar"
       Vet_PL(2, 3) = "p_ind_tipo"
       Vet_PL(2, 4) = "D"

       set rsPesquisa = rsCursorOracle(CStr(Session("ace_usuario")), _
                                         CStr(Session("ace_senha")), _
                                         CStr(Session("ace_ip")), _
                                         cstr(Session("ace_sistema")), _
                                         CStr(Session("ace_modulo")), _
    "ODO_RCS_PROCEDIMENTO.get_lista_dentes", _
    Vet_PL, _
    false )


    Do While Not rsPesquisa.eof

    sRetornoDenteD = sRetornoDenteD & "<tr>"
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;<center>"&rsPesquisa("IND_MARCADO")&"</center></td>" 
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;<center>"&rsPesquisa("COD_DENTE")&"</center></td>" 
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;"&rsPesquisa("NOM_DENTE")&"</td>" 
    sRetornoDenteD = sRetornoDenteD & "</tr>"
     
    rsPesquisa.movenext
    loop

    sRetornoDenteD = sRetornoDenteD & "</tbody>"
            sRetornoDenteD = sRetornoDenteD & "</table>"
            Response.write sRetornoDenteD

    set oPesquisa = nothing

    quinta-feira, 1 de outubro de 2015 12:20
  • Na tela A tenho minha função ajax:

    function CarregaTabelaDenteD() {

    var str = '';

            $.ajax({
                url: 'odo_hes0002d.asp?item_medico=<%=item_medico%>&tipo_grid=grid_dentes_d',
                type: 'GET',
                success: function (data) {

    str = '<table border="1" id="grid_dentes_d">';
    str = str + '<thead class="EbaGridClassTop">';
    str = str + '<tr>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Habilitado</center></th>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Código</center></th>';
    str = str + '<th style="border-bottom:0px;border- class="label_right" nowrap><center>Nome</center></th>';
    str = str + '</tr>';
    str = str + '</thead>';

    str = str + '<tbody class="EbaGridClassBody">';

    str = str + data;

                    $('#retornoDentesD').html(str);
                },
                error: function (error) {
                }
            })
    }

    E também tenho a função que pega os ID's:

           

    function habilita_campos_odonto() {
            var indTipoOdonto = document.form01.ind_tipo_odonto.value;
            document.getElementById('dente_label').style.display = 'none';
            document.getElementById('dente_campos').style.display = 'none';
            document.getElementById('face_label').style.display = 'none';
            document.getElementById('face_campos').style.display = 'none';
            document.getElementById('tipo_dente_label').style.display = 'none';
            document.getElementById('tipo_dente_campos').style.display = 'none';
            document.getElementById('grid_regiao').style.display = 'none';
            document.getElementById('regioes').style.display = 'none';
            document.getElementById('field_regiao').style.display = 'none';
            document.getElementById('grid_dentes_d').style.display = 'none';
            document.getElementById('grid_dentes_p').style.display = 'none';
            document.getElementById('field_dt_permanentes').style.display = 'none';
            document.getElementById('field_dt_deciduos').style.display = 'none';

            document.getElementById('field_dentes_p').style.display = 'none';
            document.getElementById('field_dentes_d').style.display = 'none';
            document.getElementById('tipo_dente_campos_d').style.display = 'none';


            if (document.form01.ind_tipo_odonto.value == 1)  //POR DENTE
            {

                limpaGridDente("grid_dentes_d");
                limpaGridDente("grid_dentes_p");

                document.getElementById('dente_label').style.display = '';
                document.getElementById('dente_campos').style.display = '';
                document.getElementById('tipo_dente_label').style.display = '';
                document.getElementById('tipo_dente_campos').style.display = 'none';
                document.getElementById('grid_regiao').style.display = 'none';
                document.getElementById('regioes').style.display = 'none';
                document.getElementById('field_regiao').style.display = 'none';
                document.getElementById('qtd_face_dente_de').value = '';
                document.getElementById('qtd_face_dente_ate').value = '';
                document.getElementById('grid_dentes_p').style.display = '';
                document.getElementById('grid_dentes_d').style.display = '';
                document.getElementById('field_dentes_p').style.display = '';
                document.getElementById('field_dentes_d').style.display = '';
                document.getElementById('tipo_dente_campos_d').style.display = '';
            }

    }

    E em B tenho a montagem do corpo da tabela, com os dados vindos do Oracle(Função em ASP clássico). Antes eu montava todo a table aqui, mas como estou com problemas com o ID, resolvi montar no ajax o cabeçalho da table, com o ID na página A e deixar aqui apenas os dados do Oracle. Mesmo assim não consegui resolver, continua não achando o ID da table na página A.

    Case "grid_dentes_d" 'GRID DENTES PERMANENTES

            redim Vet_PL(2,4)

            Vet_PL(1, 1) = "IN"
       Vet_PL(1, 2) = "adVarChar"
       Vet_PL(1, 3) = "p_item_medico"
       Vet_PL(1, 4) = request("item_medico")

            Vet_PL(2, 1) = "IN"
       Vet_PL(2, 2) = "adVarChar"
       Vet_PL(2, 3) = "p_ind_tipo"
       Vet_PL(2, 4) = "D"

       set rsPesquisa = rsCursorOracle(CStr(Session("ace_usuario")), _
                                         CStr(Session("ace_senha")), _
                                         CStr(Session("ace_ip")), _
                                         cstr(Session("ace_sistema")), _
                                         CStr(Session("ace_modulo")), _
    "ODO_RCS_PROCEDIMENTO.get_lista_dentes", _
    Vet_PL, _
    false )


    Do While Not rsPesquisa.eof

    sRetornoDenteD = sRetornoDenteD & "<tr>"
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;<center>"&rsPesquisa("IND_MARCADO")&"</center></td>" 
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;<center>"&rsPesquisa("COD_DENTE")&"</center></td>" 
    sRetornoDenteD = sRetornoDenteD & "<td style='border-bottom:0px;border-gt;"&rsPesquisa("NOM_DENTE")&"</td>" 
    sRetornoDenteD = sRetornoDenteD & "</tr>"
     
    rsPesquisa.movenext
    loop

    sRetornoDenteD = sRetornoDenteD & "</tbody>"
            sRetornoDenteD = sRetornoDenteD & "</table>"
            Response.write sRetornoDenteD

    set oPesquisa = nothing

    O seu problema é nessa linha: 

    $('#retornoDentesD').html(str);

    ??????????????????????????????????????????????????????????????????????????????????????

    Se for aonde está esse item ??????????????????????????????????????????????????????????????



    Fulvio Cezar Canducci Dias

    quinta-feira, 1 de outubro de 2015 12:44