Christoph: If-Abfrage bei Cookies

Hallo!

Ich brauche eine If-Abfrage bei Cookies, bei der, wenn das Cookie "message" mit dem Inhalt "1" vorhanden ist, ein Element (ID des Elements: "unten") sichtbar sein sollte.
Wenn das Cookie "message" nicht vorhanden ist, sollte ein anderes Element (ID des Elements: "message") sichtbar sein. Es darf aber nur jeweils eines der beiden Elemente sichtbar sein (also entweder "message" oder "unten").

Ich bin soweit:
-------------------------------------------------------------------
function test() {
if(document.cookie.indexOf('message=')==1) {
document.getElementById('unten').style.visibility = "visible";
document.getElementById('message').style.visibility = "hidden";
}
else {
document.getElementById('message').style.visibility = "visible";
document.getElementById('unten').style.visibility = "hidden";
}
}

...

<body onLoad="test()">
...
-------------------------------------------------------------------
Es klappt zwar, aber nicht ganz:
Wenn dann das Element "unten" angezeigt wird (und "message eben nicht), das Cookie "message" mit dem Inhalt "1" vorhanden ist und ich aktualisiere die Seite, dann ist das Element "unten" ausgeblendet und das Element "message" eingeblendet.
Das sollte aber genau anders rum sein: Es sollte, dann immer noch das Element "unten" eingeblendet sein und das Element "message" ausgeblendet sein!!
Das Cookie "message" mit dem Inhalt "1" ist aber trotzdem noch vorhanden... also funktioniert die If-Abfrage leider irgendwie nicht,  weil wenn ja das Cookie vorhanden ist, sollte ja nur das Element "unten" eingeblendet sein, das Element "message" aber nicht !!
Kann mir jemand sagen, was an der If-Abfrage falsch ist??

  1. Grütze .. äh ... Grüße!

    if(document.cookie.indexOf('message=')==1) {

    du prüfst hier, ob der String "message=" an Positon 1 (also der Zweiten) des Strings startet. Tut er aber in der Regel nicht, lies die möglichen Rückgaben von indexOf nach. Besser ist, zu prüfen, ob indexOf den String generell findet, unabhängig von der Position, also auf "Rückgabe ist nicht -1"


    Kai

    --
    What is the difference between Scientology and Microsoft? One is an
    evil cult bent on world domination and the other was begun by L. Ron
    Hubbard.
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|
    1. Hallo!

      "Rückgabe ist nicht -1"

      Vielen, vielen Dank! Es hat mit
      » if(document.cookie.indexOf('message=')!=-1) {
      geklappt!!

      Danke für deine Hilfe!! :-)