There seems to be an issue with this code snippet:
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function checkCookie()
{
var username=getCookie("username");
if (username=="username"){
document.getElementById(mydivx).style.display = 'block'; }else{
document.getElementById(mydivx).style.display = 'none';
}
}
There's also a button included to define the cookie:
<a href="#" onClick="setCookie('username',username,365); return true">hide</a>
The expected behavior is that when the button is clicked, it sets a cookie named "username" with the value "username", and then retrieves and displays the cookie using the getcookie function.
Can you spot any mistakes in my implementation?
Any assistance would be greatly appreciated!
UPDATE: ISSUE RESOLVED:
To fix the problem, simply remove the ";" from the function call, and ensure to use single quotes in the button code:
hide
Special thanks to stealthyninja for the solution!