【问题标题】:Remember forms value in cookies to later finish记住 cookie 中的表单值以便稍后完成
【发布时间】:2012-07-12 02:23:48
【问题描述】:

我有一个表格,在客户填写各种表格后,我希望它能够浏览网站,并返回表格并保持填写。

我考虑在浏览器的客户端中保留 cookie,您可能会推荐其他方法吗?

关于代码,这是我想到的javascript部分,我真的不知道如何处理服务器端部分,但我想使用一个类来定义cookie。我是这个 OOP 的新手,所以如果你能指出我正确的方向,我将不胜感激

        fieldsToSave = ['nome','sobrenome','endereco','codigopostal','localidade','telemovel','email','codigopostal2','localidade2','endereco2','nif','entidade','codigopostal3','localidade3','endereco3','nserie','modelo'];      

        function ajaxrequest(){
            var params = [];
            for (var i=0; i < fieldsToSave.length; i++) {
                var ele = required[i];
                params[i] = ele + '=' + $('#' + ele).attr('value');
            }
            params = params.join('&');
            $(".agendarleft").html("LOADING");
            $.ajax({
            type: "GET",
            url: "ajaxload/como.php",
            data: params,
            success: function() {
            $(".agendarleft").html("SUCESS");
            }
            });
        }

【问题讨论】:

  • Cookies 保存在浏览器中,因此它们可以被任何个人用户删除。如果它们被删除(清除),你会怎么做?
  • 那是客户的问题,我会尽力让客户不必重新填写表格
  • 提及 html5 并且您没有查看 localstorage?
  • @epascarello 我不认为每个人都会使用现代浏览器,应该是使用 html5 的问题。但这是一种可能。

标签: php javascript jquery html cookies


【解决方案1】:

如果您只是为了节省客户重新填写表单的时间,那么您可能想试一试 Sisyphus jQuery 插件:

引用插件网站:

插件开发用于将 html 表单数据保存到 LocalStorage,以便在浏览器崩溃、选项卡关闭和其他灾难后恢复它们。

http://simsalabim.github.com/sisyphus/

*尽管您应该注意,它需要支持 HTML5 的现代浏览器。


使用起来非常直接。在 jQuery 之后包含插件,然后使用以下(默认选项)调用它:
$('#form_id').sisyphus({
  customKeyPrefix: '',
  timeout: 0,
  autoRelease: true,
  name: null,
  onSave: function() {},
  onBeforeRestore: function() {},
  onRestore: function() {},
  onRelease: function() {},
  excludeFields: []
 });

【讨论】:

    【解决方案2】:
    You can use cookies to store data at client-side as:
    fieldsToSave = ['nome','sobrenome','endereco','codigopostal','localidade','telemovel','email','codigopostal2','localidade2','endereco2','nif','entidade','codigopostal3','localidade3','endereco3','nserie','modelo'];      
    
            function ajaxrequest(){
                var params = [];
                for (var i=0; i < fieldsToSave.length; i++) {
                    var ele = required[i];
                    params[i] = ele + '=' + $('#' + ele).attr('value');
                }
                document.cookie = "params="+params;
                $(".agendarleft").html("LOADING");
                $.ajax({
                type: "GET",
                url: "ajaxload/como.php",
                data: params,
                success: function() {
                $(".agendarleft").html("SUCESS");
                }
                });
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 2017-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多