记住cookie中的表单值以便以后完成

时间:2012-07-12 02:23:48

标签: php javascript jquery html5 cookies

我有一个表单,在客户填写各种表单后,我希望它可以浏览网站,然后返回表单并保持填写。

我考虑过将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");
            }
            });
        }

2 个答案:

答案 0 :(得分:2)

如果您只是为了节省客户端时间重新填写表单,那么您可能想要给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: []
 });

答案 1 :(得分: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");
            }
            });
        }