2012-07-12 57 views
1

我有一个表单,在客户填写完各种表单之后,我希望它可以在网站中导航,然后返回表单并维护它们。在cookie中记住表单值以便以后完成

我想过在浏览器的客户端保留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"); 
      } 
      }); 
     } 
+0

饼干维持在浏览器上,因此它们可以被任何个人用户被删除。如果他们被删除(清除),你会怎么做? – Lion 2012-07-12 02:32:30

+0

这是客户的问题,我会尽一切努力,以免客户不得不重新填写表格 – Souza 2012-07-12 02:37:11

+0

提到html5,你不看当地的存储? – epascarello 2012-07-12 02:38:00

回答

1
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"); 
      } 
      }); 
     } 
2

如果您只是做它来保存客户端的时间重新灌装的形式,然后你可能想给西西弗斯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: [] 
});