javascript - 在提交表单之前插入浏览器的历史条目

标签 javascript php html

我有两个网页:index.php 和 handler.php index.php 有一个表单,可以像这样提交给 handler.php:

handler.php?input=some+data

我的目标是让浏览器的后退按钮将我带到 index.php?input=some+data 而不是简单地 index.php。我怎样才能做到这一点?理想情况下,我宁愿尽可能多地使用 php 而不是 js

解决方案: 我添加了执行此操作的提交处理程序:

function onFormUpdate()
{
    window.history.replaceState({} , '', 'index.php?' + document.forms[0].serialize());
}

这样,表单将不是从 index.php 提交,而是从 index.php?input=some+data 提交。也就是说,后退按钮会将我带回到 index.php?input=some+data

最佳答案

你可以通过:(JS)

history.replaceState({}, '', 'index.php?input=some+data');

提交之前。

但我不认为你需要这样做,我的浏览器(firefox,虽然我认为 chrome 会做同样的事情)在提交之前保存表单数据,所以当我从处理程序返回时,表单仍然有输入.

关于javascript - 在提交表单之前插入浏览器的历史条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24694020/

相关文章:

javascript - Mysql 数据库中更快的搜索字符串

javascript - StencilJs/Jsx : render HTMLElements in nested component

php - MySQL PDO 限制问题

java - StringTemplate 4 是否需要磁盘上的模板文件?

html - 不重叠定位div

html - 将两个 <ul> 并排放置

javascript - stopPropagation 在 Firefox 中工作,但在 IE 或 Chrome 中不起作用

javascript - Mapbox 使用哪种投影

php - 通过 html 表单和 php 将外国 lang 数据插入 mysql db 表

php - Archlinux::pacman phpmyadmin 返回 404