web-dev-qa-db-ja.com

jqueryを使用してCookieにデータを保存する方法

特定のデータをCookieに保存しようとしています。これは、あるページから別のページにジャンプした場合、入力したデータを保存して、更新時に取得できるようにするためです。リンクがあります:

_<div class="esc-policy">
     <a href="#">New Link</a>    
</div>
_

クリックイベントを発生させる前に、入力した次のデータフィールドを保存する必要があります。

_     <table class="form">
       <tr>
          <td class="label">
                <label>Name*</label>
                <input id="nameInput" type="text" maxlength="100"/>
         </td>    
        <td class="label">
               <label>Description</label>
               <input id="descriptionInput" type="text" maxlength="200" >
        </td>
       </tr>
    </table>
_

私のjsとしてこのようなものがあります:

_if ($.cookie('back_to_url_onPage_referesh')) {
  this.name.attr("value", $.cookie('name'));
  this.description.attr("value", $.cookie('description'));
}
_

ただし、これがどのように機能するかはわかりません。誰か助けてもらえますか?

前もって感謝します...

Cookieに値を保存できます。ただし、あるURLから別のURLにジャンプしているときに取得する方法がまだわかりません。 Ex:i have a url:( '#/ link/create')where im create this cookie..onclick of _<a href="#">New Link</a>_ .. i need to navigate to another URL '#/ new-link/create'、enterそのページにいくつかのフォームフィールドがあり、[保存]ボタンを押すと、_<a href="#" class="btn">Save</a>,_このURLに戻るはずです:( '#/ link/create')..ページ間を移動すると、データは当然です、UI側でそのデータを保存する方法???

6
user2942566
$(".esc-policy  a").on('click',function(){
   var name = $("#nameInput").val(),
   description = $("#descriptionInput").val();
   $.cookie('back_to_url_onPage_referesh', 1);
   $.cookie('name',name);
   $.cookie('description',description);
});

このコードを追加すると、jsと同じように機能します。 jqueryでcookieプラグインを使用しない場合。ネイティブのdocument.cookie式を使用するか、cookie関数でjqueryオブジェクトを拡張します

このプラグインを使用できます https://code.google.com/p/cookies/wiki/Documentation#With_jQuery

9
Kishorevarma

Cookieを使用するには、jQUery Cookieプラグインを確認します

https://github.com/carhartl/jquery-cookie

その後、次のことができます。

$.cookie("test", 1);

削除するには:

$.removeCookie("test");

さらに、Cookieに特定の日数(ここでは5日)のタイムアウトを設定するには:

$.cookie("test", 1, { expires : 5 });

Expiresオプションを省略した場合、CookieはセッションCookieになり、ブラウザが終了すると削除されます。

すべてのオプションをカバーするには:

$.cookie("test", 1, {
   expires : 10,           //expires in 10 days

   path    : '/',          //The value of the path attribute of the cookie 
                       //(default: path of page that created the cookie).

   domain  : 'jquery.com',  //The value of the domain attribute of the cookie
                       //(default: domain of page that created the cookie).

   secure  : true          //If set to true the secure attribute of the cookie
                       //will be set and the cookie transmission will
                       //require a secure protocol (defaults to false).
});

Cookieの値を読み戻すには:

var cookieValue = $.cookie("test");

Cookieが現在のパスとは異なるパスに作成された場合は、パスパラメータを指定することをお勧めします。

var cookieValue = $.cookie("test", { path: '/foo' });
8
Aks

これがあなたが達成しようとしていることの例です。それがあなたのために働くかどうか見てください

<body>
        <script>
            $(document).ready(function(){
                $("#btn").click(function(){
                    var text1 = $('#text1').val();
                    var text2 = $('#text2').val();
                    $.cookie('text1', text1);
                    $.cookie('text2', text2);
                });
                checkCookieValues();
            });
            function checkCookieValues(){
                if ($.cookie('text1')!=="undefined") {
                    $('#text1').val($.cookie('text1'));
                }
                if ($.cookie('text2')!=="undefined") {
                    $('#text2').val($.cookie('text2'));
                }
            }
        </script>
        <form name="trial" id="trial">
            <input type="text" value="" id="text1" name="text1"/>
            <input type="text" value="" id="text2" name="text2"/>
            <input type="button" value="btn" id="btn"/>
        </form>
    </body>

[〜#〜] note [〜#〜]:jqueryを介してcookieを使用するには、jquery cookieプラグインが必要です

3
user3152538

to set cookie

$.cookie("cookie_name", "cookie_value");

to get cookie

alert( $.cookie("cookie_name") );

to remove cookie

$.removeCookie("cookie_name");
0
Satish Sharma