Jamesil
Jamesil

Reputation: 183

Store Form Values In Cookie

I've been trying to teach myself about cookies for the last couple of hours and how I would go about storing values from a few form fields into a cookie.

Im not having much luck, all the examples I've found havent been very helpful. Should I generate them using PHP or JS? Any feedback or a kick in the right direction would be highly appreciated!

http://jsfiddle.net/yucM7/

Thanks in advance!

Upvotes: 3

Views: 5526

Answers (2)

Kane Cohen
Kane Cohen

Reputation: 1800

Here's an example.

All you need is jQuery and cookie plugin

Keep in mind, there're couple of changes in html code.

$(document).on('submit', '#myForm', function() {
   // serialize our form (get string containing field names and values)
   dataString = $(this).serialize();
   // set new cookie
   $.cookie('formCookie', dataString);
   return false;
});

$(document).on('click', '#getCookie', function() {
   // get serialized string from cookie    
   cookieData = $.cookie('formCookie');
   // if cookie exists continue
   if (cookieData != null) {
        // split cookieData string into an array of fields and their values
        cookieArray = cookieData.split('&');
        // go through each field and split it too to get field name and it's value
        $.each(cookieArray, function(k, v) {
          field = v.split('=');
          // populate field with data
          $('#myForm [name="'+field[0]+'"]').val(field[1]);
        });
    }
   return false;
});

Upvotes: 5

piyush
piyush

Reputation: 976

You can set cookie using Javascript by following (Refer http://www.w3schools.com/js/js_cookies.asp):

function setCookie(c_name,value,exdays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
}

Setting cookie using Jquery: $.cookie("example", "foo");

Alternatively you can set your cookie from server by :

<?php
    $value = 'something from somewhere';
    setcookie("TestCookie", $value);

Upvotes: 2

Related Questions