1

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

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

2 回答 2

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: []
 });
于 2012-07-12T02:38:26.110 回答
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");
            }
            });
        }
于 2012-07-12T06:12:31.313 回答