[OFF] Javascript: history.back()

396 views
Skip to first unread message

Gustavo Almeida

unread,
Nov 13, 2014, 6:26:27 AM11/13/14
to list...@googlegroups.com
Povo,

Para facilitar MUUUUITO a minha vida numa página aqui, estou usando um
link / botão com o comando "history.back()"

O caso é que a página anterior (para qual este "back" remete) é montada
através do POST de um formulário. E com isso, ao clicar no botão para
voltar, o Chrome mostra aquela página para confirmar o reenvio do
formulário e, com isso, preciso dar um F5 para atualizar a página e
clicar na confirmação de reenvio do formulário.

Sabem se existe alguma forma de eu fazer este "history.back()" já com a
confirmação de reenvio do formulário???

Dei olhada rápida no google e, a princípio, não achei...

Cassiano Ricardo Mourão

unread,
Nov 13, 2014, 7:10:04 AM11/13/14
to list...@googlegroups.com
Não tem como.

--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

--- Você está recebendo esta mensagem porque se inscreveu no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+unsubscribe@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.

Gustavo Almeida

unread,
Nov 13, 2014, 7:20:26 AM11/13/14
to list...@googlegroups.com
Era o que eu temia :(

rs rs rs

Valeu, Cassiano!
Não tem como.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+u...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/d/optout.
--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================

---
Você recebeu essa mensagem porque está inscrito no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para listaphp+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Cassiano Ricardo Mourão

unread,
Nov 13, 2014, 7:25:15 AM11/13/14
to list...@googlegroups.com
Heheheh

Agora assim, se bem me lembro, se o envio for por GET acho que funciona, não me recordo. Se você tiver como testar, acho que vale a pena... vai que funfa.

Marcos Pita

unread,
Nov 13, 2014, 9:51:51 AM11/13/14
to list...@googlegroups.com
Se for por GET vai sim porque os dados enviados estão na url, via post pede a confirmação porque os dados estão no header da requisição

Gustavo Almeida

unread,
Nov 13, 2014, 9:57:13 AM11/13/14
to list...@googlegroups.com
Exato! Por GET vai... Mas a página usa POST mesmo...

Mas não é nada crítico isso não.
Só pensei em melhorar essa questão, se fosse possível. Mas não é o fim do mundo dar um F5 de vez em quando, eheheh

Valeu, pessoal!

Márcio Fornari

unread,
Nov 13, 2014, 10:25:30 AM11/13/14
to list...@googlegroups.com
Mas uma coisa não entendi.

tem o formulario.php que envia para o enviar.php

ai vc quer voltar para o formulario.php com os dados preenchidos é isso?

porque em vez de vc fazer um history.back() poderia fazer um link mesmo para a propria pagina formulario.php 
isso não funcionaria?
............
Márcio Fornari 

..........................................................................

Jean Rafael Tardem Delefrati

unread,
Nov 13, 2014, 12:58:46 PM11/13/14
to list...@googlegroups.com
E porque não gravar o $_POST em uma $_SESSION e depois redirecionar o usuário pelo PHP mesmo?

Joubert

unread,
Nov 13, 2014, 1:41:45 PM11/13/14
to list...@googlegroups.com
history.back(-2);

Joubert

unread,
Nov 13, 2014, 1:49:39 PM11/13/14
to list...@googlegroups.com
Boa tarde a todos,

Caso opção acima não funcione, tente com window.history.go(-2);

Wesley Menezes

unread,
Nov 14, 2014, 5:25:54 AM11/14/14
to list...@googlegroups.com
Olá Gustavo, o que você pode fazer é o seguinte,

Ativa a função de sessão na página do formulário, e daí na página de destino (para onde é enviado os dados do formulário), você cria variáveis capturando cada campo do formulário.

Assim no botão de voltar, ao invés da função JS "history.back();"  você simplesmente chama a URL do formulário, que já carregará preenchido, permitindo que a pessoa simplesmente altere o que tiver de alterar de acordo com a mensagem de erro.


Exemplo:

formulario.php
----------------------------------------------------------------------
<?
session_start();
?>

<form action="processar.php" method="post">

<input type="text" name="nome" value="<?=$_SESSION['nome'];?>" />

</form>

----------------------------------------------------------------------


processar.php
----------------------------------------------------------------------
<?
session_start();

$_SESSION['nome'] = $_POST['nome'];

?>

No caso de erro em seu script em relação aos dados, onde você exibe a mensagem de erro + o botão de voltar de corrigir:

<a href="formulario.php">Voltar</a>

----------------------------------------------------------------------


Com esse metodo sendo aprimorado você resolverá todos os seus problemas com formulário com POST.


Um forte abraço!


Em 13 de novembro de 2014 09:20, Gustavo Almeida <gus...@gmasoftwares.com.br> escreveu:



--





*Favor confirmar o recebimento deste e-mail!




Atenciosamente,





CNPJ: 11.678.350/0001-28

Av. Franklin de Campos Sobral, 2185
Jardins - Aracaju - Sergipe
Brasil - CEP: 49.027-000
Wesley Menezes
C.E.O - Life Solutions
Analista Programador - PF e PJ
Especialista em Desenvolvimento Web

Site: http://www.monitoreseubem.com.br

Skype: wmesolucoes

Tel.: +55 (79) 3014-5041
Cel.: +55 (79) 9802-0157 (Vivo SE)
Cel.: +55 (71) 9944-5964 (Vivo BA)

Curta a Fanpage do Facebook | Siga-nos no Twitter | Google+ | Linkedin

Parceria para WebDesigners: http://www.wesleyprogramador.com.br






*Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE.

CONFIDENCIALIDADE DO CORREIO ELETRÔNICO
Esta mensagem, incluindo seus anexos, pode conter informação confidencial e/ou privilegiada. Caso você tenha recebido este e-mail por engano, não utilize, copie ou divulgue as informações nele contidas. E, por favor, avise imediatamente o remetente, respondendo ao e-mail, e em seguida apague-o.

Só Jesus salva!

Alex Juchem

unread,
Nov 14, 2014, 5:25:58 AM11/14/14
to list...@googlegroups.com
Caso tu não ache um solução para voltar a página anterior com os dados
do formulário sem clicar em "Reenviar post", tu pode utilizar o
history.back() para retornar a página do formulário:
history.back(-1) ou history.back(-2)
Reply all
Reply to author
Forward
0 new messages