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