JavaScript drilsk cookie
Jeg har følgenede javascript funktioner. Men når man opdaterer siden, og der er sat en cookie, kommer Mozilla med den fejl at "document.getElementById(shownv + "_vsite") has no properties".Det er med de sidste tre linier kode... Der hvor der er PHP indblandet...
<script type="text/javascript">
var shown = '1';
var shownv = 'generelt';
function show_tab ()
{
if (shown == '1')
{
document.getElementById('tab1').style.display='none';
document.getElementById('tab2').style.display='block';
shown = '2';
}
else
{
document.getElementById('tab2').style.display='none';
document.getElementById('tab1').style.display='block';
shown = '1';
}
}
function show_vsite (site)
{
if (shownv)
{
document.getElementById(shownv+'_vsite').style.display='none';
document.getElementById(shownv).src='tab_'+shownv+'_inactive.png';
}
document.getElementById(site+'_vsite').style.display='block';
document.getElementById(site).src='tab_'+site+'_active.png';
shownv = site;
var today = new Date();
var expires = new Date();
expires.setTime(today.getTime() + 1000*60*60*24*365);
setCookie ('cshwnv', site, expires);
}
// Functions copy/pasted from Netscapes JavaScript 1.3 guid [setCookie (), getCookie ()]
function setCookie(name, value, expire) {
document.cookie = name + "=" + escape(value)
+ ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
}
function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0) { // if there are any cookies
offset = document.cookie.indexOf(search)
if (offset != -1) { // if cookie exists
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset)
// set index of end of cookie value
if (end == -1)
end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
}
}
<?
if ($_COOKIE[cshwnv])
{
echo "show_vsite ('".$_COOKIE[cshwnv]."');";
}
?>
</script>
