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

时间:2014-07-11 09:07:39

标签: javascript php html

我有两个网页:index.php和handler.php index.php有一个表单,提交给handler.php,如下所示:

  

handler.php?输入= +一些数据

我的目标是做一些事情,以便浏览器的后退按钮将我带到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

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式执行此操作:(JS)

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

在提交之前。

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