2012-07-12 58 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: [] 
});