php - 我可以保存序列化的表单数据吗?

标签 php javascript jquery webforms pagination

在我不断努力理解哈希标签和页面导航的过程中,如果用户使用浏览器导航按钮(例如,后退和前进),我会遇到重新提交表单数据的障碍。

我使用表单数据的函数如下:

if(page == "/visits_results") {

    $('#start').val(start);

    $.post("visits_results.php", $("#profile_form_id").serialize(),
    function(data) {
        $('#search_results').html(data);
        location.href = "#visits_results=" + start; 
    });
}

如果表单仍然可见,这会很好地工作,例如,如果我使用分页,它会按我预期的方式执行。

我的问题是当用户单击浏览器的后退按钮(表单现已删除)然后单击浏览器的前进按钮时。事件被触发,但我的序列化表单数据现在为空。有什么方法可以缓存表单数据,以便我可以继续调用它吗?

有什么想法吗?

最佳答案

您最好的选择(我认为)是将序列化数据存储在 cookie 中。当用户返回他/她已经填写过的页面时,从 cookie 中检索数据,反序列化,并将其放回原处。

使用 Cookie 相当简单,在 quirksmode 上有一个不错的跨浏览器实现来读/写 cookie:

或者如果您更喜欢使用插件:

关于php - 我可以保存序列化的表单数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6961650/

相关文章:

javascript - 如何使用mysql在网站中添加谷歌地图

javascript - 在 Mac 上从本地文件 + JS 加载 webView 时进行缓存

javascript - JS : Get Y Position of a String in Div

javascript - 等距柱状图三.js 内的可点击对象

javascript - 函数似乎访问变量的最后一个引用,而不是将其存储在函数调用中

php - 标记已读文章

php - 使数据库记录更改可跟踪的最佳方法?

php - 通过三步过程处理大型数组的 csv 导入

javascript - 自动调整文本区域宽度(列)?

javascript - 我该如何使用 $.get 来做到这一点?