2010-11-13 15 views
2

J'ai un bouton nommé oui et un autre nommé non.Besoin d'aide dans la création d'un cookie

<input type="button" name="yes" onclick="button()"> 
<input type="button" name="no"> 

Je veux créer un cookie lorsque oui est cliquée qui stockerait les informations « OUI » et doit expirer au bout de 7 jours. Comment je fais ça? La seule information que le cookie doit stocker est "OUI".

Répondre

3

Vous pouvez utiliser document.cookie:

var expDate = new Date(); 
expDate.setDate(expDate.getDate() + 7); 
document.cookie = 'your_cookie_name=YES;expires=' + expDate.toUTCString(); 

Ou si vous utilisez jquery vous pouvez jeter un oeil à la Cookie plugin. Voici un example.

+0

Incroyable ... Cela a fonctionné. Merci – ryan

+0

Enfin, comment puis-je lire le cookie? – ryan

+0

Lire document.cookie comme une chaîne. Il aura des valeurs comme "userName = Bill; favoriteColor = Red; timezone = GMT". Nom d'utilisateur/Couleur préférée et fuseau horaire sont des cookies différents, alors parser la chaîne comment vous voulez obtenir celui que vous voulez. – Robert

1

Voici ce que j'utilise

var cookie = { 
    "create": function(name, value, days) { 
     if (typeof days !== 'number' || typeof name !== 'string' || typeof value !== 'string') { 
      return false; 
     } 
     var date = new Date(); 
     date.setTime(date.getTime() + (days*86400000)); 
     document.cookie = name + '=' + value + '; expires=' + date.toGMTString() + '; path=/'; 
    }, 
    "read": function(name) { 
     var cookie = document.cookie, 
      i, val = false; 
     cookie = cookie.split(';'); 
     for (i = 0; i < cookie.length; i++) { 
      if (cookie[i].indexOf(name) !== -1) { 
       while (cookie[i].indexOf(name) > 0 && cookie[i].length > name.length) { 
        cookie[i] = cookie[i].substr(1); 
       } 
       val = cookie[i].substr(name.length + 1); 
      } 
     } 
     return val; 
    }, 
    "erase": function(name) { 
     this.create(name, '', -1); 
    } 
}; 

Vous pouvez ensuite utiliser:

cookie.create("userName", "Bill", 7); // store userName "Bill" for 7 days. 

cookie.read("userName"); // "Bill" 

cookie.erase("userName"); 

Voici un violon pour voir comment cela fonctionne. http://jsfiddle.net/robert/4vLT6/