我的jquery cookie没有重置,即使我使用正确的代码

时间:2010-01-12 11:43:56

标签: jquery forms cookies reset

我的问题是我正在尝试重置某些表单Cookie,因此当有人填写完表单时,会重置这些Cookie,以便其他人可以填写表单。简单而明显。

但是

然而,我输入了许多不同的代码行,但cookie似乎并没有消失。我正在使用以下网站的记忆功能:

Komodo Media

因此,当他们离开页面时,详细信息仍然存在:我对页面启动的代码如下:

<script type="text/javascript">

function remember( selector ){
        $(selector).each(
            function(){

             //if this item has been cookied, restore it
            var name = $(this).attr('name');

            if( $.cookie( name ) ){
                if( $(this).is(':checkbox') ){
                    $(this).attr('checked',$.cookie( name ));
                }else{
                    $(this).val( $.cookie(name) );
                }

            }

            //assign a change function to the item to cookie it
            $(this).change(
                function(){
                    if( $(this).is(':checkbox') ){
                        $.cookie(name, $(this).attr('checked'), { path: '/', expires: 1 });
                    }else{

                        $.cookie(''+name+'', $(this).val(), { path: '/', expires: 1 });

                     }
            });
        });
}   
// JQUERY FOR THIS PAGE

$(document).ready( function(){
        remember("[name=username]"); 
    remember("[name=firstname]"); 
    remember("[name=lastname]"); 
    remember("[name=email]");
    remember("[name=password]"); 
    remember("[name=address1]"); 
    remember("[name=address2]"); 
    remember("[name=postcode]"); 
    remember("[name=country]");   
} );
</script>

重置它们的代码很简单,因为它采用cookie名称并将其设置为null。但是,这不会像返回到表单那样工作,之前的所有字段仍然存在。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

这最终成为一个非常简单的答案。我设法跳过了过期的cookie以及它们如何影响cookie的事实。