我有一个多页表单,带有后退按钮,如果用户点击回来,我正在尝试使用服务器端方式来维护表单数据。
我有一个这样的后退按钮:
<button id="backButton">Back</button>
按钮处理程序如下:
$('#backButton').live('click',function() {
window.history.back();
});
在提交表单的第一部分之后,我将所有提交的数据放入$ _SESSION变量中。我甚至可以在表单的第二部分回显这些变量,但是当我单击后退按钮转到表单的第一部分时,会话变量不会延续。
我正在正确地开始会话,并且我将会话变量用于网站的其他各个部分,并且它们可以完美地工作。
按下后退按钮后如何携带变量?
答案 0 :(得分:1)
森海塞尔, 我无法处理你的具体情况,但我可以解决你的问题。以下是我的想法:
F5
从服务器重新请求页面。你可以......
使用JavaScript检索表单数据并将内容保存到cookie中,无论何时加载表单,都会加载(安全!!注意XSS ..)。你似乎使用jQuery,这将有所帮助!我不确定安全性,但请阅读$.('#formID').serialize()
。
依靠浏览器的原生表单保存组件。在查看堆栈溢出时,I found a similar question that had an answer that can help you.总之,如果您的表单是由JS 或自动生成的,则该页面是不可缓存的(可能https
,或者您的服务器说no-cache),你不能依靠浏览器来保存表单。
如果我的答案有帮助,请告诉我。
答案 1 :(得分:0)
但如果是这样,那肯定不是无关紧要的。
您可以告诉浏览器在首次加载时不要缓存它。