Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Loko da Web

Refresh

Recommended Posts

Boa tarde!

 

Fiz um sistema de comentarios pra uma locadora, em que o usuario pode comentar um filme. O sistema roda 100%, o problema é no refresh...

 

Pra entender melhor:

 

- O usuario preenche todos os campos do form e depois clica em Enviar

- No momento que clicar em Enviar, ira abrir um popup com a confirmacao, dizendo que foi cadastrado o comentario.

- O que eu quero agora é que o popup feche automaticamente depois de uns 2 a 5 seg e da refresh aonde o usuario fez o comentario.

- Pois se nao for dessa forma, ele tera que fechar o popup e depois atualizar a pagina do filme comentado, pra assim aparecer o comentario. Putz, assim fica ruim, né !!!!!

 

Não sei se isso é possivel, se é em asp ou em javascript. Mas, não tenho ideia de como fazer isso. Agredeço a ajuda !!!!! :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

kara é javascript.

 

use parent no onUnload do popup!

 

procure por Parent ou Opener

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

SEgue um exemplo que tenho em um sistema meu

 

<script>
function fechar() {
opener.document.location.href = "PagVisualizaGrupo.asp?pagina=<%=session("ultima")%>&tporder=<%=session("tporder")%>&order=<%=session("order")%>&corder=<%=session("corder")%>"
opener.focus();
window.close();
}
</script>

<body onUnload="fechar();">

</body>

É só adaptar.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe, fiz o que você disse, pesquisei bastante a respeito de opener e parent, e achei meio complicado de entender, javascript é dificil pacas... mas ja que isso é javascript, acho que deve movido pra seção correta, né. Mas se puder ajudar, agradeço.

 

 

Quando clicar envair abre o popup com a confirmacao, o que eu quero é que feche o popup automaticamente, e depois de fechado ele da um refresh na pagina aonde foi comentado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

POG rápido (tou saindo do trampo)

 

no body do pop-up coloca algo como: <body onunload="opener.setTimeout('funcao que faz o refresh', 5000)">

Compartilhar este post


Link para o post
Compartilhar em outros sites

POG rápido (tou saindo do trampo)

 

no body do pop-up coloca algo como: <body onunload="opener.setTimeout('funcao que faz o refresh', 5000)">

 

Cara, nao deu certo !!!!! O que esse cod faz na verdade ??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem dúvida alguma, a maneira mais fácil para resolver esse seu problema é criar um setTimeout() dentro da função que abre esse seu popup.

 

Por sorte sua, eu tenho em minha coleção um código que permite o usuário escrever algo em um campo Texto, e a frase escrita é enviada para um popup. Então, bastou criar outra função para o popup fechar (nesse caso, eu criei a função "fechar PopUp()"). Obviamente, você deverá fazer uma referência à janela que abrir, caso contrário, ao usar o window.close() você correrá o risco de fechar é a página principal (por isso foi necessário o wMsg - essa referência estava no script original, e eu aproveitei-a).

 

Segue o código abaixo. Basta adaptá-lo ao seu caso:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Fechar PopUp Automaticamente</title>
</head>

<body>
<script>
function criar(form) {
	wMsg=window.open("","informativo1","menubar=yes,scrollbars=1,status=1,width=400,height=600")
	wMsg.document.open()
	wMsg.document.write(document.FORM1.TEXTO1.value)
	setTimeout("fecharPopUp()",5000);
}

function fecharPopUp() {
	wMsg.window.close();
	window.location.href = 'página.htm';
}
</script>

<form name="FORM1" action="">
Escreva algo aqui: <input name="TEXTO1" type="text" value="01">
<input type="button" value="OK" ONCLICK="java script:criar(this.form)">
</form>

</body>
</html>

Acho que isso irá te ajudar. Abraços e boa sorte com o projeto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está muito difícil adicionar respostas nesse fórum. A página não carrega, o AJAX fica rodando, rodando e não sai do lugar. Desse jeito vamos ter que mudar o nome do fórum de iMasters para iBegginers, hehe!

 

Bom, vamos ver se essa resposta aqui agora sai...

Eu tinha um código aqui há muito tempo, que permitia ao usuário digitar um texto e esse texto ser enviado para um popup. Então, bastou adaptar uma função, utilizando para isso o método window.close juntamente com a referência do popup que foi aberto.

 

Obviamente, como você quer que o popup feche após um determinado tempo, eu implementei um setTimeout para chamar essa função criada.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Fechar PopUp Automaticamente</title>
</head>

<body>
<script>
function criar(form) {
	wMsg=window.open("","informativo1","menubar=yes,scrollbars=1,status=1,width=400,height=600");
	wMsg.document.open();
	wMsg.document.write(document.FORM1.TEXTO1.value);
	setTimeout("fecharPopUp()",5000);
}

function fecharPopUp() {
	wMsg.window.close();
	window.location.reload();
}
</script>

<form name="FORM1" action="">
Escreva algo aqui: <input name="TEXTO1" type="text" value="01">
<input type="button" value="OK" ONCLICK="java script:criar(this.form)">
</form>

</body>
</html>

Basta, agora, implementar esse exemplo ao seu caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiramente, como fez?

 

Cara, fiz assim:

 

ver_filme.asp (aqui esta o form de coment)

 

<script TYPE="text/javascript">
<!--
function popupform(myform, main)
{
if (! window.focus)return true;
window.open('', main, 'height=70,width=400,scrollbars=no');
myform.target=main;
return true;
}
//-->
</SCRIPT>
<form action="enviar_comentario.asp" onSubmit="popupform(this, 'join')" name="main"  method="post">

enviar_comentario.asp (janela de popup que da a mensagem de ok !)

 

<script>
function redireciona() {
		document.location.href = 
		'default.asp';
}

setTimeout( "redireciona()", 3000 );
</script>

Na janela do popup, até consegui redirecionar...o porem, é que eu quero ele redireciona no proprio popup, eu queria que o popup fechasse e desse refresh na pagina aonde foi comentado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está muito difícil adicionar respostas nesse fórum. A página não carrega, o AJAX fica rodando, rodando e não sai do lugar. Desse jeito vamos ter que mudar o nome do fórum de iMasters para iBegginers, hehe!

 

Bom, vamos ver se essa resposta aqui agora sai...

Eu tinha um código aqui há muito tempo, que permitia ao usuário digitar um texto e esse texto ser enviado para um popup. Então, bastou adaptar uma função, utilizando para isso o método window.close juntamente com a referência do popup que foi aberto.

 

Obviamente, como você quer que o popup feche após um determinado tempo, eu implementei um setTimeout para chamar essa função criada.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Fechar PopUp Automaticamente</title>
</head>

<body>
<script>
function criar(form) {
	wMsg=window.open("","informativo1","menubar=yes,scrollbars=1,status=1,width=400,height=600");
	wMsg.document.open();
	wMsg.document.write(document.FORM1.TEXTO1.value);
	setTimeout("fecharPopUp()",5000);
}

function fecharPopUp() {
	wMsg.window.close();
	window.location.reload();
}
</script>

<form name="FORM1" action="">
Escreva algo aqui: <input name="TEXTO1" type="text" value="01">
<input type="button" value="OK" ONCLICK="java script:criar(this.form)">
</form>

</body>
</html>

Basta, agora, implementar esse exemplo ao seu caso.

 

Fiz do jeito que você colocou... só que nao abriu popup e muito menos fechou.

 

<script>
function criar(form) {
	wMsg=window.open("","informativo1","menubar=no,scrollbars=1,status=1,width=400,height=70")
	wMsg.document.open()
	wMsg.document.write(document.FORM1.data.value)
	wMsg.document.write(document.FORM1.nome.value)
	wMsg.document.write(document.FORM1.email.value)
	wMsg.document.write(document.FORM1.comentario.value)
	setTimeout("fecharPopUp()",3000);
}

function fecharPopUp() {
	wMsg.window.close();
	window.location.href = 'default.asp';
}
</script>

O que esta errado ??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você talvez não tenha o FORM1, hehe!

Por isso, apague as linhas que buscam valores nesse FORM1 ou TEXTO1. Eu deixei apenas para exemplo.

 

O código abaixo funcionou no IE7:

function criar(form) {
	wMsg=window.open("","informativo1","menubar=yes,scrollbars=1,status=1,width=400,height=600");
	wMsg.document.open();
	setTimeout("fecharPopUp()",5000);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você talvez não tenha o FORM1, hehe!

Por isso, apague as linhas que buscam valores nesse FORM1 ou TEXTO1. Eu deixei apenas para exemplo.

 

function criar(form) {
	wMsg=window.open("","informativo1","menubar=yes,scrollbars=1,status=1,width=400,height=600");
	wMsg.document.open();
	setTimeout("fecharPopUp()",5000);
}

Esta como FORM1, e mesmo assim nao rolou...

 

<form action="enviar_comentario.asp" name="FORM1"  method="post">
input type="submit" value="  Enviar  " ONCLICK="java script:criar(this.form)">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum... estou vendo aqui com mais calma, na hora de escrever, você deve criar toda a string, e inseri-la dentro de um wMsg.document.write apenas, como no exemplo:

 

wMsg.document.write(textoCompleto);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui !!!! Fiz o seguinte:

 

na pagina aonde esta o comentario, coloquei assim:

 

<script TYPE="text/javascript">
<!--
function popupform(myform, windowname)
{
if (! window.focus)return true;
window.open('', windowname, 'height=70,width=400,scrollbars=no');
myform.target=windowname;
return true;
}
//-->
</SCRIPT>
<form action="enviar_comentario.asp" onSubmit="popupform(this, 'join')"  method="post">
<input type="submit" value="  Enviar  " onclick=java script:window.history.go(0)>

O que eu fiz ??? Criei a funcao do popup, e depois no botao enviar coloquei onclick=java script:window.history.go(0), o que acontece... no momento que o usuario clicar no botao, ira abrir o popup com a confirmacao e automaticamente ira atualizar a pagina que esta o comentario, simples, não !!!!!!! Valeu pela ajuda Klonder !!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que você encontrou uma maneira realmente de dar um refresh na página, embora essa seja uma maneira um tanto quanto incomum. Mas o importante é que funcionou, e é isso que importa.

 

Mas e com relação ao seu post inicial:

 

- O que eu quero agora é que o popup feche automaticamente depois de uns 2 a 5 seg e da refresh aonde o usuario fez o comentario.

Você mudou de idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que você encontrou uma maneira realmente de dar um refresh na página, embora essa seja uma maneira um tanto quanto incomum. Mas o importante é que funcionou, e é isso que importa.

 

Mas e com relação ao seu post inicial:

 

- O que eu quero agora é que o popup feche automaticamente depois de uns 2 a 5 seg e da refresh aonde o usuario fez o comentario.

Você mudou de idéia?

 

 

Klonder, esqueci de colocar o cod que coloquei no popup:

 

<script language="JavaScript">
window.onload = function(){
window.setTimeout('window.close()', 2000);
}
</script>

Depois de 2 seg a janelinha fecha automaticamente, salve o JS. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.