【问题标题】:Save data offline before post发布前离线保存数据
【发布时间】:2013-12-17 09:35:33
【问题描述】:

我想在发布之前将发布数据保存到用户电脑,以防万一在我所在地区经常发生的互联网连接不良。

大多数时候用户写文章,添加图片,当点击提交按钮时,由于某些问题,他们的连接丢失了。

那么在 php , ajax , jquery 中有没有办法。我可以在打字时或发帖前保存它,这样如果互联网连接出错,他们可以在它启动时返回并发布?

【问题讨论】:

标签: php html mysql forms


【解决方案1】:

代码:

    function saveEditsBeforeSend(inputIdThatyouWantToGrabState){

        var contentOfInput = $(inputIdThatyouWantToGrabState).val();

        $.cookie("userInputContentOf"+$(inputIdThatyouWantToGrabState).attr("id"), contentOfInput); 

}

添加一个事件监听器并在发送前调用它

    $("#yourFormId").on("submit", function(e){
        e.preventDefault();
        var form = $(this);         
        saveEditsBeforeSend(form.find("#inputIdThatyouWantToGrabState"));
        form.trigger("submit");     
});

此代码会将输入内容存储在 cookie 中,供您稍后在连接正常时使用。 (请注意,如果用户丢失会话,此内容将丢失) 这是一个你可以完善它的想法

【讨论】:

    【解决方案2】:

    为您的表单添加一个提交侦听器,在提交之前将所有表单输入值保存在浏览器的本地存储中。在旧版浏览器 (IE) 中,您可以“填充”这个不存在的功能。

    看看这个list 的浏览器存储polyfills。

    【讨论】:

      【解决方案3】:

      HTML5 包含一个名为 LocalStorage 的规范,它允许您在客户端浏览器中存储一些信息,就像过去的 cookie 一样。这种方法很棒,因为 cookie 很小而且非常不安全。

      这里有一篇很好的文章: http://diveintohtml5.info/storage.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多