Avatar billede ripley Nybegynder
11. december 2000 - 12:27 Der er 5 kommentarer og
1 løsning

Cookies - virker ikke

Jeg har en onload-event på body-tag´et, der giver følgende javascript-fejl:

curField is not defined.
Koden ser således ud:

    function setcookie(name,value,days)
    {
        if (document.cookie==\'\')document.cookie=\'test=xxx\'
        if (document.cookie!=\'\')
        document.cookie= name + \'=\' + value+ \'; expires=\' + 
        ((new Date((new Date()).getTime() + 
        days*24*60*60*1000)).toGMTString())
    }

    function findcookie(name)
    {
        var t = document.cookie;
        first= t.indexOf(name);
        if(first != -1){
                first+= name.length + 1;
                last = t.indexOf(\';\', first);
                if(last == -1) last = t.length;
                value= t.substring(first, last);
        } else value = \"\"
        return value
    }

    function getAllCookies(theForm)
    {
    for(i=0;i<theForm.length;i++)
        {
        var curField = theForm.elements[i];
        if (curField != \"button\") {
        curField.value = findcookie(curField.name);               
        }
        }
    }
   
    function setAllCookies(theForm)
    {
    for(i=0;i<theForm.length;i++)
        {
        var curField = theForm.elements[i];
        if (curField != \"button\") {
        setcookie(curField.name,CurField.value,1);       
        }
        }
    }
   
    //-->
       
</script>
</head>

<BODY background=\"grafik/baggrund.gif\" onLoad=\"setAllCookies(opener.document.nytemne);\">
<FORM name=\"nytemne\">
(..her er en række inputfelter)
</FORM>

...Hvem kan hjælpe?
Avatar billede ripley Nybegynder
11. december 2000 - 12:31 #1
Nej, sludder - de sidste linjer med <FORM name osv. findes selvfølgelig i det dokument, der åbner dette vindue.
Avatar billede mmp Nybegynder
11. december 2000 - 13:01 #2
I din function setAllCookies har du
setcookie(curField.name, CurField.value,1);

mon ikke du mener curField.value ??

Jeg tror, det er her din fejl er.
Avatar billede ripley Nybegynder
11. december 2000 - 13:04 #3
Den opdagede jeg selv, lige før du postede dit svar - desværre har det ingen virkning udover at fejlmeddelelsen forsvandt!
Det virker bare ikke.
Men jeg har ændret koden til:

    function UpdaterVindue()
    {
        setAllCookies();
        opener.location.reload(true);
        //window.opener.document.location=\'leksikon.asp?admintype=1&mode=nytemne\';
        window.close();
    }
   
    function setcookie(name,value,days)
    {
        if (document.cookie==\'\')document.cookie=\'test=xxx\'
        if (document.cookie!=\'\')
        document.cookie= name + \'=\' + value+ \'; expires=\' + 
        ((new Date((new Date()).getTime() + 
        days*24*60*60*1000)).toGMTString())
    }

    function findcookie(name)
    {
        var t = document.cookie;
        first= t.indexOf(name);
        if(first != -1){
                first+= name.length + 1;
                last = t.indexOf(\';\', first);
                if(last == -1) last = t.length;
                value= t.substring(first, last);
        } else value = \"\"
        return value
    }

    function getAllCookies()
    {
    for(i=0;i<opener.document.nytemne.length;i++)
        {
        var curField = opener.document.nytemne.elements[i];
            if (curField.type != \"button\" && curField.type != \"select-multiple\" && curField.type != \"select-one\") {
        curField.value = findcookie(curField.name);               
        }
        }
    }
   
    function setAllCookies()
    {
    for(i=0;i<opener.document.nytemne.length;i++)
        {
            var curField = opener.document.nytemne.elements[i];
            if (curField.type != \"button\" && curField.type != \"select-multiple\" && curField.type != \"select-one\") {
            setcookie(curField.name,curField.value,1);       
        }
        }
    }
   
    //-->
       
</SCRIPT>
</head>

<BODY background=\"grafik/baggrund.gif\" onLoad=\"setAllCookies();\">

Avatar billede frank_jensen Nybegynder
12. december 2000 - 10:22 #4
Jeg har selv haft problem med JS og cookies, især med brugen af toGMTString, som ikke returnere en gyldig værdi til en cookie....
Avatar billede mmp Nybegynder
13. december 2000 - 16:02 #5
Jeg sender dig en brugbar kode fredag eller lørdag....
Avatar billede ripley Nybegynder
16. marts 2001 - 07:44 #6
Never mind - du får point´ene, mmp - da du i det mindste hjalp mig af med fejlmeddelelsen!
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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