Recentemente no trabalho me deparei com uma necessidade simples que a tempos não utilizava. Como passar valores de uma janela a outra usando Javascript?
Depois de quebrar a cabeça para lembrar e também pesquisando, resolví postar essa dica para memorizar e também ajudar a todos.
Este recurso é bastante utilizado quando se deseja pesquisar um determinado item em uma tabela e passar o código para um <input> do <form> que está em outra janela.
formprincipal.html
<html>
<head>
<script>
function abrirPesquisa()
{
window.open("pesquisa.html"); // Abrira a janela de pesquisa
}
</script>
</head>
<body>
<form>
Digite um codigo:
Descrição: <label name="descrproduto" id="descrproduto">
<p align="center"><a href="javascript:abrirPesquisa()";>Pesquisar</a></p>
</form>
</body>
</html>
pesquisa.html
<html>
<head>
<script>
function levarcodigo( codigo,descricao )
{
/** O "segredo" está aqui nessas duas linhas, onde é passado o codigo para o <input>
* e a descricao para o <label>
*/
top.opener.document.getElementById("campo1").value = codigo;
top.opener.document.getElementById("descrproduto").innerHTML = descricao;
window.close();
}
</script>
</head>
<body>
<a href="javascript:levarcodigo(1010,'Cafeteira');">1010-Cafeteira</a>
<a href="javascript:levarcodigo(1020,'Jogo de panelas');">1020-Jogo de panelas</a>
<a href="javascript:levarcodigo(1030,'Jogo de taças');">1030-Jogo de taças</a>
<a href="javascript:levarcodigo(1040,'Churrasqueira');">1040-Churrasqueira</a>
</body>
</html>
Um exemplo bem simples, porém funcional. Importante ressaltar que para funcionar é necessário que as duas páginas(.html) estejam no mesmo domínio.
"Vida longa e próspera ao Javascript".
