使用Javascript to GetCookie

时间:2010-11-14 12:03:31

标签: javascript dom cookies

if(getCookie("response") == null)
{
document.getElementById('hide').style.display = 'none';
alert("Yipee");
}

else
{

//on approve creating a new cookie
function a()
{
 var a = document.getElementById('approve');
 document.getElementById('hide').style.display = 'none';
 var expDate = new Date();
expDate.setDate(expDate.getDate() + 7);
document.cookie = 'response=approve;expires=' + expDate.toUTCString();
alert(document.cookie);
}

//on reject creating a new cookie

function r()
{
 var a = document.getElementById('reject');
 document.getElementById('hide').style.display = 'none';
 var expDate = new Date();
expDate.setDate(expDate.getDate() + 7);
document.cookie = 'response=reject;expires=' + expDate.toUTCString();
alert(document.cookie);
}

}

</script>

<body>
<div id="hide">
<form>
<p id="p">Heya!</p>

<input type="button" id='approve' value="approve" onclick="a()"/>
<input type="button" id='reject' value="reject" onclick="r()"/>
</form>

这是我的代码......如果存在cookie,我想隐藏一个元素,如果没有,我想继续显示表单。无论如何,表单始终显示,并且不显示“yipee”警告框。

我查看了Chrome,它有一个名为localhost的响应cookie。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

也许代替getCookie使用

c_start=document.cookie.indexOf("mycookie=");
if (c_start!=-1){
//cookie exists
}

答案 1 :(得分:0)

如果这是页面中的代码段,并且按此顺序显示,那么这可能无法正常工作。您测试是否存在“响应”cookie,然后尝试隐藏DOM元素,然后将DOM元素隐藏在第一位。

尝试将script块移动到body的底部,看看是否有所不同。我想它可能会。