Ir para conteúdo

POWERED BY:

Arquivado

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

Danado_

atualizar pagina pai ao fechar popup

Recommended Posts

Galera já pesquisei já tentei N coisas e nada.

 

seguinte tenho um shadowbox, quando ele é aberto tem um iframezinho dentro e busca minha pagina de form que envia para o banco de dados phpmysql.

até ai beleza..envia certindo e talz...eu quero que quando eu ENVIAR > e fechar esse shadowbox da um REFRESH no meu index, automaticamente.

 

é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve utilizar JavaScript ao invés de PHP.

 

Existem dois eventos em JavaScript:

- onunload;

- onbeforeunload.

 

O evento onunload é executado enquanto o navegador está sendo "descarregado". onbeforeunload, é executado antes de "descarregar" a página, após o término da execução, a página é "descarregada".

 

Existe muito erro com o real objetivo desses eventos. O pessoal acha que é somente quando fecha-se a página. Mas estão errados. É qualquer tipo de execução, de forma síncrona, que altere o estado atual página. Entre elas estão:

- Fechar a página;

- Mudar de página quando:

- Clica-se em link;

- Envia-se um formulário;

- Clica no botão voltar.

 

Não é recomendável utilizar onunload, pois em um navegador (não vou falar que é o IE) pode dar problema. Não é sempre, mas pode acontecer.

 

Já o evento onbeforeunload, não existe nenhuma restrição ou bug conhecido.

 

Um exemplo bem básico:

window.onbeforeunload = function (event) {
  var message = 'Realmente deseja sair??';
  if (typeof event == 'undefined') {
     event = window.event;
  }
  if (event) {
     event.returnValue = message;
  }
  return message;
}

 

Você também poderia utilizar Ajax, vai depender da real necessidade em atualizar a página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve utilizar JavaScript ao invés de PHP.

 

Existem dois eventos em JavaScript:

- onunload;

- onbeforeunload.

 

O evento onunload é executado enquanto o navegador está sendo "descarregado". onbeforeunload, é executado antes de "descarregar" a página, após o término da execução, a página é "descarregada".

 

Existe muito erro com o real objetivo desses eventos. O pessoal acha que é somente quando fecha-se a página. Mas estão errados. É qualquer tipo de execução, de forma síncrona, que altere o estado atual página. Entre elas estão:

- Fechar a página;

- Mudar de página quando:

- Clica-se em link;

- Envia-se um formulário;

- Clica no botão voltar.

 

Não é recomendável utilizar onunload, pois em um navegador (não vou falar que é o IE) pode dar problema. Não é sempre, mas pode acontecer.

 

Já o evento onbeforeunload, não existe nenhuma restrição ou bug conhecido.

 

Um exemplo bem básico:

window.onbeforeunload = function (event) {
  var message = 'Realmente deseja sair??';
  if (typeof event == 'undefined') {
     event = window.event;
  }
  if (event) {
     event.returnValue = message;
  }
  return message;
}

 

Você também poderia utilizar Ajax, vai depender da real necessidade em atualizar a página.

 

 

 

onde insiro isso?

 

Ali em " history.back(); " essa função faz o shadowbox fechar, porém meu index nao atualiza.

 

meu codigo shadowbox está assim:

<?php 

require( 'conecta.php' );

?>
<?php	

$titulo 	= $_POST["titulo"];
$nick 	= $_POST["nick"];
$foto = $_FILES['Filedata']['name'];

   if ($foto != "") { 
	include("upload.php");
}

$sql = "INSERT INTO mural (



								titulo,
								nick,
								large,
								thumb

					) VALUES (


								'" . $titulo .  "',
								'" . $nick .  "',	
								'" . $nome_large .  "',                                
                                   '" . $nome_thumb .  "'
                             );";

mysql_query( $sql, $conn ) or die( "Nao foi possível adicionar a  base de dados! Erro: " . mysql_error() );



echo "<script type='text/javascript'> alert('enviado com sucesso'); history.back();</script>";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você simplesmente insira-o no HTML:

<html>
   <head>
       <title>Teste</title>
       <script type="text/javascript">
           window.onbeforeunload = function (event) {
              var message = 'Realmente deseja sair??';
              if (typeof event == 'undefined') {
                 event = window.event;
              }
              if (event) {
                 event.returnValue = message;
              }
              return message;
           }
       </script>
   </head>
   <body>    
   </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim beleza, o script funcionou, porém até carrega a PAI(index) porém as informações inseridas no proprio shadowbox não aparece.

ou seja a pagina recarrega mais nao puxa as informações enviadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, isso já é outra história então. O problema de recarregar a página foi resolvido. Certo?

 

Como deve funcionar com essas informações? O que deve acontecer? Aonde você as salva?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um muralzim de recados no meu index...tenho um botao(escrever no mural) clicando abre o shadowbox.

 

lah ele escreve a msg envia, vai direto pro banco de dados..e quando fechar a janela, apenas atualiza a página index. :seta:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele está salvando corretamento no banco de dados?

 

Você poderia utilizar long polling para essa situação, é a mesma funcionalidade que o Facebook usa para o mural, e de fácil implementação.

 

Mais informações nesse post:

http://forum.imasters.com.br/topic/461888-verificar-banco-com-ajax-reverso/

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao, nao deu certo ainda..nem manjo de ajax :cry:

 

Ele está salvando corretamento no banco de dados?

 

Você poderia utilizar long polling para essa situação, é a mesma funcionalidade que o Facebook usa para o mural, e de fácil implementação.

 

Mais informações nesse post:

http://forum.imasters.com.br/topic/461888-verificar-banco-com-ajax-reverso/

 

sim ele está gravando bonitim no bando de dados.

porem para mim ver o que escrevi...eu preciso da F5 ou atualizar página saka...eu gostaria de fazer auto.

 

é um simples muralzim de recado brother

envio pimba no BD, dai volta pra index.....

 

mais assim....quando eu clico o meu index fica aberto com fundo escuro e abre janela pop up saka (shadowbox)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim cara:

 

<script language="javascript">
function update(opcao){
if(opcao=='OK'){
window.close();
window.opener.location.reload();
}
}
</script>

echo "<input class=\"button\" type=\"button\" onclick=\"update('OK');\" value=\"Ok\" />";

 

ao clicar ele vai dar um reload na pagina que você está como se fosse o F5 tenta aê

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim cara:

 

<script language="javascript">
function update(opcao){
if(opcao=='OK'){
window.close();
window.opener.location.reload();
}
}
</script>

echo "<input class=\"button\" type=\"button\" onclick=\"update('OK');\" value=\"Ok\" />";

 

ao clicar ele vai dar um reload na pagina que você está como se fosse o F5 tenta aê

 

 

engraçado cara, parece que nao chama o script..

 

ficou assim:

 

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<script language="javascript">
function update(opcao){
if(opcao=='OK'){
window.close();
window.opener.location.reload();
}
}
</script>
<body>
<?php 

require( 'conecta.php' );

?>
<?php	

$titulo 	= $_POST["titulo"];
$nick 	= $_POST["nick"];
$foto = $_FILES['Filedata']['name'];

if ($foto != "") { 
include("upload.php");
}

$sql = "INSERT INTO mural (



titulo,
nick,
large,
thumb

) VALUES (


'" . $titulo .  "',
'" . $nick .  "',	
'" . $nome_large .  "',                                
'" . $nome_thumb .  "'
);";

mysql_query( $sql, $conn ) or die( "Nao foi possível adicionar a  base de dados! Erro: " . mysql_error() );



echo "<input class=\"button\" type=\"button\" onclick=\"update('OK');\" value=\"Ok\" />";

?>
</body>
</html>

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.