1

我有一个表单,它会将用户发送到不同的表单,以防他们没有完成它以返回表单并完成任何遗漏的内容。现在,除非用户按下浏览器后退按钮,否则页面会重新加载,这意味着任何数据都会丢失。

几乎当他们返回上一页时,他们已经填写的任何内容都应该保持不变。

我有以下两页:

第 1 页:

<?PHP

echo "<a href='page2.php'>NEXT</a>";
echo "<input type=text size=25 name=txt />";
?>

第2页:

<?php
$refer = $_SERVER['HTTP_REFERER'];
$lastlink = "<a href='$refer'>BACK</a>";

echo $lastlink;
?>

在第二页上,如果我单击“返回”返回到第 1 页,则在第 1 页中输入的任何内容都将丢失,这是我不想要的。如何在不使用 Javascript 的情况下解决它?用Javascript?我知道在 javascript 中我可以使用

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

但是还有其他方法吗?

4

3 回答 3

2

看看html5 历史 API。History api + ajax 是很棒的组合

于 2013-03-07T21:36:06.893 回答
2

您还可以使用会话$_POST在提交时存储并检查它是否在第一个表单的页面加载时设置。

于 2013-03-07T21:43:32.617 回答
1

我通常满足于:

history.back(-1);

使用服务器端逻辑发送回上一页不是一个好方法,所以我不鼓励它。

于 2013-03-07T21:37:46.370 回答