Ir para conteúdo
Fórum Script Brasil
  • 0

Receber dados de um popup


moisesf

Pergunta

Preciso de receber dados de uma nova janela, como posso fazer isso interropendop o código até que a nova janela seja preenchida e dado ok?

O PROMPT É CANSATIVO, POR ISSO QUERIA UMA JANELA COM ESSES DADOS DO PROMPT.

var site= prompt("Informe o Link do Site!", "http://");
 var descricao = prompt("Descrição!", "");
 var url_imagem = prompt("URL da Imagem", "");


window.open.showmodal( "formulario.html", "myWindow", "status = 1, height = 300, width = 300, resizable = 0" );


/*AQUI RECEBEREI OS DADOS DA NOVA JANELA, MAS ESTÃO SENDO EXECUTADOS ANTES DO PREENCHIMENTO.*/

var novaDIV_click = "<div id='"+ ids +"'´ style='background:url(ponto.png); position:absolute; width:4px;height:6px;top:"+ posy +"px;left:" + posx +"px' onClick='limpa("+ ids +")'  onmouseover=mostra_div("+ ids +")><span id='"+ ids +"b' style='display:none; top:"+ posy +"px;left:" + posx +"px;z-index:200;'><a href='"+ site +"'>" + descricao + "</a><img src='"+ url_imagem +"' /></span></div>";
/*****************/ FIZ O SEGUINTE:
window.showModalDialog("formulario.html",'site,url_imagem,descricao'); 

var novaDIV_click = "<div id='"+ ids +"'´ style='background:url(ponto.png); position:absolute; width:4px;height:6px;top:"+ posy +"px;left:" + posx +"px' onClick='limpa("+ ids +")'  onmouseover=mostra_div("+ ids +")><span id='"+ ids +"b' style='display:none; top:"+ posy +"px;left:" + posx +"px;z-index:200;'><a href='"+ site +"'>" + descricao + "</a><img src='"+ url_imagem +"' /></span></div>";


A JANELA MODAL ABRIU E IMPEDIU DO CODIGO CONTINUAR, MAS AGORA COMO FAZER O FORM DEVOLVER OS DADOS PARA A PÁGINA ANTESTIOR?
<FORM>
<fieldset>
<label>Endereço do Site</label>
<input type="text" id="site" name="site" />
<label>Url da Imagem</label>
<input type="text" id="url_imagem" name="url_imagem" />
<label>Descrição</label>
<textarea id="descricao"  name="descricao" ></textarea> 
<input type="button" name="enviar" value="Enviar" />
</fieldset>
</FORM>

Editado por KaKarotto
Adicionadas tags de código para facilitar a visualização. KaKarotto.
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Existe uma propriedade chamada window.opener. windoow.opener se refere à janela mãe que chamou a janela filha.

Se na janela mãe você tem uma função que fará alguma coisa com os dados chamada "funcaoRecebedados" por exemplo, bastaria nessa pop chamar a função passando os dados.

window.opener.funcaoRecebedados(urldaimagem, descricao)

Essa funcaoRecebedados faz parte da janela mãe, não se esqueça.

Moisés, use as tags de código no seu post por favor meu filho...

Link para o comentário
Compartilhar em outros sites

  • 0

Não estou acertando , poderia dar uma olhada?

Fiz m array para receber os dados, mas estou conseguindo retornar apenas um dos 3 elementos

/*ESSA É A INDEX*/

<script type="text/javascript" charset="iso-8859-1">
function pega_coordenada(){

var   posy=event.offsetY;
var  posx=event.offsetX;
var ids= posy + posx;
var ids2= ids + "a";
/*ABRE A JANELA*/
var dados= showModalDialog("formulario.html",'width=400,height=400');
/*RECEBE OS VALORES*/
var valores = new Array(dados);
alert(valores);
var site=(valores[0]);
var url_imagem=(valores[1]);
var descricao=(valores[2]);

var novaDIV_click = "<div id='"+ ids +"'´ style='background:url(ponto.png); position:absolute; width:4px;height:6px;top:"+ posy +"px;left:" + posx +"px' onClick='limpa("+ ids +")'  onmouseover=mostra_div("+ ids +")><span id='"+ ids +"b' style='display:none; top:"+ posy +"px;left:" + posx +"px;z-index:200;'><a href='"+ site +"'>" + descricao + "</a><img src='"+ url_imagem +"' /></span></div>";
var novaDIV ="<div id='"+ ids2 +"'><textarea  readonly='readonly' name='condigo_fonte' class='codigo_fonte'>"+novaDIV_click+"</textarea><br /><input  type='button'  onClick='limpa("+ ids +")'    value='Excluir'  name='limpa_dados' class='btexcluir' /><hr /></div>";

document.getElementById('mouse').innerHTML += novaDIV_click;
document.getElementById('receptor').innerHTML += novaDIV;

}

function mostra_div(mostra_cod){
var mostra= mostra_cod + "b";
document.getElementById(mostra).style.display='block';
}

function limpa(codigo) {
var cod=codigo;
var cod2=cod+"a";
var filho1 =document.getElementById(cod);
var filho2 =document.getElementById(cod2);
var pai1 = document.getElementById("mouse");
var pai2 = document.getElementById("receptor");
pai1.removeChild(filho1);
pai2.removeChild(filho2);
}

function copyCode(){
    cop = document.getElementById("dados").createTextRange();
    cop.execCommand("RemoveFormat");
    cop.execCommand("Copy");

}
</script>

</head>

<body>

<div id="tudo" >

<!-- MAPA -->
<div id="mapa" onclick="pega_coordenada()" >
<div id="mouse" >
</div>
</div>
<!-- FINAL MAPA -->


<!-- FORMS -->
<div id="receptor" >

</div>
<!-- FINAL FORMS -->

</div><!-- TUDO -->
/*ESSE É O FORM ABERTO PELA INDEX E QUE IRIA MANDAR OS DADOS DE VOLTA*/
<script>
function retorno(site,url_imagem,descricao) { 

window.returnValue = window.document.forms.site.value; 
window.returnValue = window.document.forms.url_imagem.value;
window.returnValue = window.document.forms.descricao.value;

window.close();
}
</script>
</head>
<body>
PERGUNTAS
<FORM name="forms">
<fieldset>
<label>Endereço do Site</label><br />
<input type="text" id="site" name="site" /><br />
<label>Url da Imagem</label><br />
<input type="text" id="url_imagem" name="url_imagem" /><br />
<label>Descrição</label><br />
<textarea id="descricao"  name="descricao" ></textarea> <br />
<input type="button" name="enviar" value="Enviar"  onclick="retorno()" />
</fieldset>
</FORM>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...