返回上一页

时间:2010-03-30 20:42:45

标签: php javascript

我正在使用表单对网页进行“评分”。此表单将数据“发布”到其他地方的php脚本。我只想在处理表单后显示一个链接,这会将用户带回上一页。我可以在我的php脚本中使用javascript执行此操作吗?

GF

11 个答案:

答案 0 :(得分:88)

您可以使用链接在Javascript中调用history.go(-1),这实际上等同于单击“返回”按钮。然而,理想情况下,最好只创建一个返回URL的链接,从用户发布到表单的位置 - 这样就可以保留历史的正确“流程”并且用户不会想知道他们为什么会有某些东西点击“转发”,实际上只是再次提交表单。

答案 1 :(得分:33)

取决于您尝试使用它的原因。你可以使用这样的东西:

echo "<a href=\"javascript:history.go(-1)\">GO BACK</a>";

这是最简单的选择。另一张海报是关于正确的历史流程的,但这是你的一个例子。

刚刚编辑过,orig版本没有缩进,看起来没什么。 ;)

答案 2 :(得分:30)

试试这个:

$previous = "javascript:history.go(-1)";
if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

in html:

<a href="<?= $previous ?>">Back</a>

JavaScript代码初始化为HTTP_REFERER变量的后备有时无效。

答案 3 :(得分:23)

您特别要求提供JS解决方案,但是如果有人访问您的表单并且禁用了JS,那么PHP备份总是很好:

当表单加载时通过类似$previous = $_SERVER['HTTP_REFERER'];的内容抓取上一页地址,然后在表单中将其设置为<input type="hidden" value="$previous" />。当您使用脚本处理表单时,您可以获取该值并将其粘贴到header("Location:___")中或将地址直接粘贴到链接中以将其发回给他们来自的位置

没有JS,非常简单,你可以构建它,这样只有在客户端没有启用JS的情况下才能处理它。

答案 4 :(得分:14)

像这样:

<?php

    if (isset($_SERVER["HTTP_REFERER"])) {
        header("Location: " . $_SERVER["HTTP_REFERER"]);
    }

?>

答案 5 :(得分:8)

我们可以在页面中使用html代码显示后退按钮,这可以将浏览器窗口带到上一页。此页面将有一个按钮或链接,通过单击它,浏览器将返回上一页。这可以通过使用html或在客户端使用JavaScript来完成。

以下是此按钮的代码

<INPUT TYPE="button" VALUE="Back" onClick="history.go(-1);">

使用JavaScript

我们可以使用JavaScript创建链接,将我们带回到上一页或历史页面。以下是使用客户端JavaScript移回浏览器的代码。

<a href = "javascript:history.back()">Back to previous page</a>

答案 6 :(得分:3)

如果您的网络服务器在发布后正确地redirects转到新页面,则浏览器上的常规“后退”按钮将起作用。或者javascript中的“history.go(-1)”。这将产生填写的表格。

但是,如果服务器只返回新内容而不重定向 - 那么history.go(-1)将无法帮助您。那时你丢失了表格。

如果您只想简单地返回上一个网址 - 只需使用 A HREF 标记链接到该网址即可。这将显示一个空表格。

答案 7 :(得分:2)

...通过查看Facebook代码......我发现了这个
Go Back to Previous Page

答案 8 :(得分:1)

我认为按钮onclick =&#34; history.back();&#34;是解决问题的一种方法。但在以下情况下它可能不起作用:

1.如果页面被刷新或重新加载。 2.如果用户在新页面中打开链接。

要克服这些问题,如果您知道必须返回哪个页面,则可以使用以下代码。例如。如果您在一个页面上没有链接,并且后退按钮将用于返回该页面。

&LT;输入类型=&#34;按钮&#34;的onclick =&#34; document.location.href =&#39;文件名&#39 ;;&#34;值=&#34;返回&#34;命名=&#34;按钮&#34;类=&#34; BTN&#34;&GT;

答案 9 :(得分:0)

history.go(-1)这是该问题的可能解决方案,但它无法在隐身模式下工作,因为此模式下浏览器不会维护历史记录。

答案 10 :(得分:0)

我们可以使用以下任意一种导航到上一页。 1)window.location.href =“提供您要访问的网址”; 要么 2)window.history.back(); 要么 3)window.history.go(-1); 要么 4)window.history.back(-1);