HTML/Javascript/JSP/JSTL:如何使用 POST 数据模拟浏览器的后退按钮
HTML/Javascript/JSP/JSTL: How to simulate browsers' back button with POST data?
我正在使用POST而不是GET来查询数据,因为我有太多的参数并且url看起来不太好。我注意到我的浏览器(Chrome(后退按钮能够返回到上一个POST生成的上一页。
我想添加一个按钮,在必要时使用 HTML/Javascript/JSP/JSTL 或后端 Java 模拟此行为。有什么建议吗?
例:
用户在主页上,使用参数集 S1 执行开机自检。
用户被带到从开机自检加载的新页面,参数集为 S1。用户使用参数集 S2。
用户被带到从开机自检加载的新页面,参数集为 S2。
此时,我希望我的后退按钮将用户带回参数集为 S1 的 POST 生成的页面。我是否必须保存并传递我当前的 POST 参数才能达到此效果,或者有更简单的方法?
通常使用的方法如下:
<!-- in header: ->
<script>
function goBack()
{
window.history.back()
}
</script>
<!-- in body ->
<input type="button" value="Back" onclick="goBack()">
但这不是这样做的最佳方法。通常,如果使用数据库和表单提交,则应将变量保留在会话中,因此,如果您按下按钮,则会再次发布上次使用的变量。
好吧:我解决了这个问题。认为这就是你想要的。第一次轻舐搜索按钮。它设置会话。在第二次搜索中,它将会话重置为第一个搜索词。然后使用第一个搜索词"返回"1步骤。这只适用于 1 回去。又名仅撤消 1 次搜索。根据您的需求进行定制,让我知道这是您想要的。
<?php
session_start();
include("db.php");
if(isset($_POST['searchterm'])) {
if($_SESSION['oldsearch'] == "") {
$_SESSION['oldsearch'] = $_POST['searchterm'];
} else {
$_SESSION['oldsearch'] = $_POST['oldsearch'];
}
$searchterm = $_POST['searchterm'];
} else if (isset($_POST['back1'])) {
$_SESSION['oldsearch'] = $_POST['back'];
$searchterm = $_POST['back'];
} else {
$_SESSION['oldsearch'] = "";
$searchterm = "";
}
if(isset($_POST['searchterm']) || isset($_POST['back1']) ) {
$query = mysql_query("SELECT * FROM kliendid WHERE name LIKE '%$searchterm%'");
while ($row = mysql_fetch_array($query)) {
echo "Found from database: ".$row['name']."<br>";
}
}
?>
<form name="back" id="back" method="post">
<input type="hidden" name="back" value="<?php echo $_SESSION['oldsearch']; ?>" />
<input type="submit" name="back1" id="back1" value="Back">
</form>
<form name="search" id="search" method="post">
<input type="hidden" name="oldsearch" id="oldsearch" value="<?php echo $_SESSION['oldsearch']; ?>" />
<input type="text" name="searchterm" value="" />
<input type="submit" name="search" id="search" value="Search">
</form>
相关文章:
- 如何模拟浏览器's时区
- 使用浏览器在页面(客户端)上运行自定义JavaScript来模拟点击?怎么做
- 如何在浏览器中使用AWS SDK模拟IAM用户
- 使用RingoJs模拟浏览器
- 是否可以模拟浏览器单击事件
- 模拟 Web 浏览器方向更改事件以使用 Jasmine 测试绑定事件处理程序函数
- 如何检测移动设备是否被谷歌浏览器模拟
- 模拟浏览器和服务器之间的不同时区以进行本地测试
- 在浏览器中模拟 Linux 终端
- 如何在浏览器中模拟布料的移动
- HTML/Javascript/JSP/JSTL:如何使用 POST 数据模拟浏览器的后退按钮
- 在我的 Web 应用程序上模拟浏览器缓存
- 角度js-模拟浏览器后退/前进按钮禁用
- 如何通过 Mechanize 模拟支持 JavaScript 的浏览器
- 在连续服务器进程中模拟浏览器
- 浏览器对象和 HTML DOM 对象的 JavaScript 模拟库
- 如何模拟启用JS的浏览器
- 我应该使用哪些技术在浏览器中进行2d自上而下的足球模拟
- 如何为移动浏览器模拟触摸事件?安卓、iPhone
- 如何使用现代浏览器模拟电视/显示器外观