Использование Javascript для GetCookie - PullRequest
0 голосов
/ 14 ноября 2010
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, и у него есть cookie, называемый response для localhost.

Спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 14 ноября 2010

возможно вместо getCookie используйте

c_start=document.cookie.indexOf("mycookie=");
if (c_start!=-1){
//cookie exists
}
0 голосов
/ 14 ноября 2010

Если это фрагмент кода со страницы, и он появляется в таком порядке, то это невозможно.Вы проверяете наличие cookie-файла «response» и затем пытаетесь скрыть элементы DOM до того, как элементы DOM будут там, чтобы спрятаться.

Попробуйте переместить блок scriptв нижней части body и посмотреть, если это имеет значение.Я думаю, что, вероятно, будет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...