我有一个表单会将用户发送到另一个表单,因为他们没有完成它以返回表单并完成任何错过的内容。现在,除非用户按下浏览器后退按钮,否则页面会被新加载,这意味着任何数据都会丢失。
当他们回到上一页时,他们已经填写的任何内容都应该保持不变。
我有以下两页:
第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;
?>
在第二页,如果我单击BACK返回到第1页,第1页中输入的任何内容都将丢失,我不想要。 如何在不使用Javascript的情况下解决它?用Javascript? 我知道在javascript中我可以使用
<a href="javascript:history.go(-1);">BACK</a>
但还有另一种方法吗?
答案 0 :(得分:2)
看看html5 history api。历史api + ajax是伟大的组合
答案 1 :(得分:2)
您还可以使用会话在提交时存储$_POST
,并检查它是否在第一个表单的页面加载时设置。
答案 2 :(得分:1)
我通常满意:
history.back(-1);
使用服务器端逻辑发送回上一页并不是一个好方法,所以我会鼓励它。