Avatar billede laffe Nybegynder
06. juni 2007 - 12:37 Der er 8 kommentarer

Hvorfor gemmes min cookie ikke

Hej

Er der nogen der kan fortælle mig hvorfor min cookie ikke bliver gemt når jeg trykker på checkboxen for anden gang ?


<SCRIPT TYPE="text/javascript">
<!--

function setCookie(cookieName, cookieValue)
{
  document.cookie =  escape(cookieName) + '=' + escape(cookieValue);
}

function getCookie(name)
{
  var temp=document.cookie+';';
  var Pos=temp.indexOf('=',temp.indexOf(escape(name)+'='));
  if (temp.indexOf(escape(name)+'=')==-1) return '';
  return unescape(temp.substring(Pos+1,temp.indexOf(';',Pos)));
}

function ReloadPage(EmergencyOperation)
{
    if(EmergencyOperation.emergency.checked)
  {
        window.location.reload("test.htm");
        //window.location.href=window.location.href;
        //history.go(0);
        setCookie("EMERGENCY","1");
  }
  else
  {
        setCookie("EMERGENCY","2");
  };
}

function MakeCheckbox()
{
  if (getCookie("EMERGENCY")=="1")
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  checked onClick='ReloadPage(this.form)'>emergency<P>");
  }else if (getCookie("EMERGENCY")=="2")
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  onClick='ReloadPage(this.form)'>emergency<P>");
  } else
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  onClick='ReloadPage(this.form)'>emergency<P>");
  }
    document.write("cookie EMERGENCY= "+getCookie("EMERGENCY"));
}
//-->
</SCRIPT>
<HEAD>
<BODY>
</BODY>
</HEAD>
<FORM>
<SCRIPT TYPE="text/javascript">
<!--
    MakeCheckbox();
//-->
</SCRIPT>
<P><INPUT TYPE=SUBMIT VALUE="submit">
</FORM>
Avatar billede jokkejensen Novice
06. juni 2007 - 13:12 #1
Jeg tror du skal have en "udløbsdato" på din cookie, ellers forsvinder den med det samme..


function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
Avatar billede olebole Juniormester
06. juni 2007 - 14:07 #2
<ole>

- og så er kagen vel først til at læse på de følgende sider ... ikke på siden, der sætter den  =)

/mvh
</bole>
Avatar billede laffe Nybegynder
06. juni 2007 - 15:14 #3
Hej ole

Den funktionalitet jeg ønsker er at når man trykker på checkboxen, så skal siden genindlæses, og værdien af min cookie skal så initialisere checkboxen til den tilstand den skal vises med 1=checked 2= not checked.

ole - Hvad mener du med at cookien først kan læses i de følgende sider ?
bliver den ikke gemt når man kalder setCookie ?

Jeg har ikke rodet ret meget med det her, så jeg undskylder mine måske tåbelige spørgsmål ;-)

mvh
laffe
Avatar billede olebole Juniormester
06. juni 2007 - 15:57 #4
Jeg er på vgej udaf døren, så det bliver kort: Kagen kan først læses på de følgende sider ... ikke på den side, der gemmer den  =)
Avatar billede laffe Nybegynder
06. juni 2007 - 22:29 #5
Jamen det er da også det jeg gør (tror jeg). Den næste side er bare den samme side som før.
Avatar billede olebole Juniormester
07. juni 2007 - 12:56 #6
Prøv at uploade ekspemplet  =)
Avatar billede laffe Nybegynder
11. juni 2007 - 13:51 #7
Hej igen

Efter en hektisk weekend er jeg tilbage.


Jeg skal lave en side, hvor der indgår en checkbox og et edit felt, når man trykker på checkboxen, skal siden reloades, og editfeltet skal laves om til en listbox. Dette havde jeg tænkt mig at løse med en cookie, som jeg kunne bruge til at finde ud af, om siden skal laves med et edit felt eller en listbox.

Jeg har klippet mit lille test script ind forneden.

Testscriptet beståt af en checkbox, når der trykkes på checkboxen, skal min cookie (EMERGENCY) have tildelt værdien 1, ellers værdien 2. Når siden så reloades, udskriver jeg min cookie for at se hvilken værdi den så har, og det er her at kæden hopper af for mig.

Når jeg sætter krydset i checkboxen, realoades siden godt nok, og jeg kan se at min cookie har værdien 1, men når jeg fjerner krydset reloades siden, men min cookie har stadig værdien 1 ???

Jeg håber ovenstående forklarer lidt, hvad jeg egentlig gerne vil :-)

<SCRIPT TYPE="text/javascript">
<!--

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}
function setCookie(cookieName, cookieValue)
{
  document.cookie =  escape(cookieName) + '=' + escape(cookieValue);
}

function getCookie(name)
{
  var temp=document.cookie+';';
  var Pos=temp.indexOf('=',temp.indexOf(escape(name)+'='));
  if (temp.indexOf(escape(name)+'=')==-1) return '';
  return unescape(temp.substring(Pos+1,temp.indexOf(';',Pos)));
}

function ReloadPage(EmergencyOperation)
{
    if(EmergencyOperation.emergency.checked)
  {
        window.location.reload("lkc.htm");
        //window.location.href=window.location.href;
        //history.go(0);
        setCookie("EMERGENCY","1");
  }
  else
  {
        setCookie("EMERGENCY","2");
  };
}

function MakeCheckbox()
{
  if (getCookie("EMERGENCY")=="1")
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  checked onClick='ReloadPage(this.form)'>emergency<P>");
  }else if (getCookie("EMERGENCY")=="2")
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  onClick='ReloadPage(this.form)'>emergency<P>");
  } else
  {
      document.write("<INPUT TYPE=CHECKBOX NAME='emergency'  onClick='ReloadPage(this.form)'>emergency<P>");
  }
  document.write("cookie EMERGENCY= "+getCookie("EMERGENCY"));
}
//-->
</SCRIPT>
<HEAD>
<BODY>
</BODY>
</HEAD>
<FORM>
<SCRIPT TYPE="text/javascript">
<!--
    createCookie("EMERGENCY","",10);   
    MakeCheckbox();
//-->
</SCRIPT>
<P><INPUT TYPE=SUBMIT VALUE="submit">
</FORM>
Avatar billede laffe Nybegynder
12. juni 2007 - 12:09 #8
Hej

Så fandt jeg fejlen. Den lå i Reload funktionen.

Reload blev jo kun kaldt Når EMERGENCY=1

Hmmm..... bedre sent end aldrig.

Nå men Tak for hjælpen alligevel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester