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。
感谢您的帮助。
答案 0 :(得分:2)
也许代替getCookie使用
c_start=document.cookie.indexOf("mycookie=");
if (c_start!=-1){
//cookie exists
}
答案 1 :(得分:0)
如果这是页面中的代码段,并且按此顺序显示,那么这可能无法正常工作。您测试是否存在“响应”cookie,然后尝试隐藏DOM元素,然后将DOM元素隐藏在第一位。
尝试将script
块移动到body
的底部,看看是否有所不同。我想它可能会。