Dae galera… eu estou com o seguinte problema:
Tenho um botão na pagina pai(Um cadastro qualquer), que quando clicado me abre uma janela popup e nessa tela eu seleciona alguns itens que são jogados para a pagina pai através do window.opener… dae eu vou la e seto alguns campos hidden… Isso eu consegui…, o problema é que tenho que mostrar tudo o que eu selecionei no popup(os campos hidden são codigos de registros) na pagina pai… teria que utilizar ajax…
Explicando melhor…
PaginaPai tem um cadastro… dae esse popup que ele abre, la eu vou ter uma tabela com varios registros… se eu selecionar esse registro, eu tenho que mostrar o mesmo na PaginaPai como se fosse um link… dae eu teria que utilizar ajax pra isso… aqui eu utilizo a biblioteca prototype para oAjax. mas se alguem tiver outra forma sera de grande ajuda!! A ideia é eu conseguir atualizar a pagina pai utilizando ajax através do popup!!
Abraço!!
Não precisa de ajax pra fazer isso desde que todas as informações estão no popup vc pode usar o window.opener mesmo, mostre um pedaço do código do popup q precisa setar na página pai…
Nessa popup eu tenho essa tabela… dae quando eu clico no link, ele adiciona esse registro mais abaixo em um div, pois eu posso adicionar vários registros…
No popup eles são mostrados assim logo após o clique nos registros…
[code] * Documento primeiro [remover]
- Documento segundo [remover]
- Documento terceiro [remover][/code]Dae tenho um botão abaixo para dar ok… esse cara vai la e seta a pagina pai com esses valores!
Link que adiciona na popup!
<!-- Usado para adicionar o link e assim adicionar um documento pai atrelado à esse -->
<c:if test="${ param.viewDocPai == 'viewDocPai' || viewDocPai == ' viewDocPai'}">
<td align="center" width="200" valign="top" scope="row" class="lbCampo" bgcolor="<c:out value='${corFundo}'/>"><a href="javascript: addDocumentoPai('viewDocumentoPai','<c:out value='${documento.numDocumento}'/>','<c:out value='${documento.codDocumento}'/>','<c:out value='${documento.grupoDocumento.codGrupoDocumento}'/>');"><c:out value='${documento.numDocumento}'/></a></td>
</c:if>
Div que é atualizada com os registros adicionados(popup)!
[code]
[code]function addDocumentoPai(div, numero, codPai ) {
var ni = document.getElementById(div);
var codDocPai = document.getElementById("codDocumentoPai");
var codDocPaiIncrement = (document.getElementById("codDocumentoPai").value -1)+ 2;
codDocPai.value = codDocPaiIncrement;
document.frmBuscaDocumento.documentosPais.value += codPai+";";
var divIdName = "docPai_"+codDocPaiIncrement ;
var newdiv = document.createElement('div');
newdiv.setAttribute("id",divIdName);
newdiv.innerHTML = "<table><tr><td align='right'><img src='img/bullet_black.bmp' border='0'/></td><td>"+numero+"</td><td class='lbCampoBold'><b><a href=\"#\" onclick=\"removeDocumentoPai(\'"+divIdName+"\',\'"+div+"\',\'"+codPai+"\')\">Remover</a>"; " +</td></tr></table>";
ni.appendChild(newdiv);
}[/code]
Quando eu clico no ok, ele joga os valores concatenados para o pai…
function closeDocumentoPai() {
// Guarda no campo hidden do cadastro de documentos os valores dos pais
opener.document.frmCadDocumento.documentosPais.value = document.frmBuscaDocumento.documentosPais.value;
window.close();
}
Se tivesse uma forma de usar esse addDocumentoPai na pagina pai, seria muito bom… dae la eu poderia mostrar da mesma forma que eu mostra no popup!
[code] * Documento primeiro [remover]
- Documento segundo [remover]
- Documento terceiro [remover][/code]
Abraço!
[quote=jovijesc] Se tivesse uma forma de usar esse addDocumentoPai na pagina pai, seria muito bom… dae la eu poderia mostrar da mesma forma que eu mostra no popup! [/quote] Tenta assim cola essa função na página pai e dentro do popup chama window.opener.addDocumentoPai() passando os parâmetros necessários.
Cara faz assim coloca um id dinâmico dentro da linha(tag <tr) do popup daí vc consegue manipular todas as colunas e cria uma tabela no lugar do div da página pai para setar as tr’s, segue um tutorial(http://www.w3schools.com/htmldom/dom_obj_table.asp) que explica como trabalhar com tabelas usando javascripts, boa sorte!!!
Valeu cara… vou tentar isso mesmo…
Abraço!!