0

私の問題は、いくつかのフォーム Cookie をリセットしようとしているため、誰かがフォームを完了するとリセットされ、他の誰かがフォームを完了する可能性があることです。シンプルで明白。

しかし

私が入れたさまざまなコード行に関係なく、Cookie は消えていないようです。以下のサイトの記憶機能を使用しています。

コモドメディア

したがって、ページから離れても詳細は残ります。ページを開始するためのコードは次のとおりです。

<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 に設定するため、非常に単純です。ただし、これはフォームに戻ると機能せず、以前のすべてのフィールドがまだそこにあります。

これに関するどんな助けも素晴らしいでしょう。

4

1 に答える 1

0

これは非常に単純な答えになりました。Cookie の有効期限が切れるという事実と、Cookie が Cookie に与える影響については、なんとかスキップしました。

于 2010-01-13T11:23:30.407 に答える