Inquiridor
Pegar ID de um elemento em outro arquivo

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?
- Movido AndreAlvesLima quinta-feira, 1 de outubro de 2015 12:46
Todas as Respostas
-
-
-
-
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 -
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 = nothingO seu problema é nessa linha:
$('#retornoDentesD').html(str);
??????????????????????????????????????????????????????????????????????????????????????
Se for aonde está esse item ??????????????????????????????????????????????????????????????