用于存储单选按钮数组的Javascript cookie
Javascript cookie to store radio button arrays
我有一个javascript cookie,当用户进入网站时,它会设置默认值NYY(no,yes,yes)。基本上,当用户从另一个页面的3个选项(单选或复选框)列表中选择并记住他的设置时,我需要能够更改这个默认值。
这是我的代码
<script type="text/javascript">
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function printCookies(w){
cStr = "";
pCOOKIES = new Array();
pCOOKIES = document.cookie.split('; ');
for(bb = 0; bb < pCOOKIES.length; bb++){
NmeVal = new Array();
NmeVal = pCOOKIES[bb].split('=');
if(NmeVal[0]){
cStr += NmeVal[0] + '=' + unescape(NmeVal[1]) + '; ';
}
}
return cStr;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
function setTheDivStyle() {
if(!readCookie('preference')) {
// if cookie not found display the div and create the cookie
document.getElementById("prefBanner").style.display="block";
/*document.getElementById("prefBanner").style.display="block";*/
createCookie('preference', 'NYY', 365); // 365 day
}
else {
// if cookie found hide the div
document.getElementById("prefBanner").style.display="none";
}
}
// print all cookies set for the domain
allCookies = printCookies();
//document.write(allCookies);
alert(allCookies);
</script>
<body onload="setTheDivStyle();" onclick="setTheDivStyle();">
<div id = "prefBanner" class="prefCookie_banner">cookie policy banner - which the users sees if no cookie is set - to change your cookie preference <a href="newpage">click here</a></div>
新页面:我想在哪里更改cookie的默认值
<FORM NAME="profileForm">
Performance
<input type="radio" value="Y" id="performance" name="performance"><label for="performance"> Yes</label>
<input type="radio" value="N" id="performance" name="performance"><label for="performance"> No</label><br />
功能对无
Tracking
<input type="radio" value="Y" id="tracking" name="tracking"><label for="tracking"> Yes</label>
<input type="radio" value="N" id="tracking" name="tracking"><label for="tracking"> No</label><br />
<input type="submit" >
</FORM>
好吧,这会起作用,但我不会那样做,但从代码和公式化的问题来看,这是最好的答案。
<input type="radio" value="Y" id="trackingY" name="tracking" onclick="createCookie('preference', 'Y', 365);">
<input type="radio" value="N" id="trackingN" name="tracking" onclick="createCookie('preference', 'N', 365);">
你的代码中有一些可怕的错误,很抱歉直接说出来,但如果你继续这样下去,就很难写出更大的函数。
- HTML无效:ID是唯一的标识符,这意味着只有一个元素可以具有相同的ID
- 在应该使用的地方使用大括号
- 使用var声明您的变量
split函数返回一个数组,为什么在split 之前在变量上声明一个新数组
pCOOKIES=新数组();
pCOOKIES=document.cookie.split(';');
相关文章:
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 正在Javascript Cookie中设置重复密钥
- 更改Javascript cookie重定向
- 用于存储、检索和附加到url的javascript cookie
- 如果设置了过期日期,则Javascript Cookie为空
- javascript cookie value variable
- JavaScript Cookie会在瞬间闪烁隐藏的DIV
- Javascript Cookie Not Working
- 获取用于编写JavaScript cookie的复选框
- 根据域名和名称的范围删除重复的JavaScript cookie
- Javascript Cookie将于每周二到期
- JavaScript Cookie作用域更改留下2个名称相同但将读取的Cookie
- JavaScript cookie和未捕获的语法错误:Chrome中出现意外的令牌u
- 设置javascript cookie每小时过期一次
- 如何将 JavaScript cookie 传递给 PHP cookie
- JavaScript cookie 输入字段字符串显示错误
- 为什么这个JavaScript cookie不起作用
- Javascript Cookie define Path
- PHP 会话与 JavaScript cookie 冲突
- 在某些情况下,Javascript cookie 不会被删除