Welche Javascript Variable muss ich mittels Session_id in diesem Sript speichern?

Pokemoz

Grünschnabel
Moin 8)

Also...ich hab da ein Klappmenü. Das Script dafür schaut so aus:

function plopp(id)
{
if(document.getElementById(id).style.display == 'none')
{
document.getElementById(id).style.display = 'block';
}
else
{
document.getElementById(id).style.display = 'none';
}
}
</script>


Es wird immer nur eine Seite geladen (Index.php) wobei die Seite welche angezeigt wird per Variable übergeben wird. In dem Fall mal als Beispiel:

index.php?page=liste

Diese wird in einer Tabellenzelle dann angezeigt. Das Menü steht rechts und kann durch klicken der Links weiter geöffnet oder geschlossen werden.

Das Problem ist natürlich das beim anklicken eines Links und anchdem die Seite dann aufgebaut wurde das Menü wieder zugeklappt ist. Das soll natürlich nicht der Fall sein 8)

Die Frage ist nun nicht wie ich die Variable in der Session übergebe sondern welche ich nehmen muss. Ich habe von Javascript nicht viel Ahnung und habe es mit ach und Krach geschafft das alles hinzubekommen.

Welches ist denn jetzt eigentlich die Variable die ich übernehmen muss? Die komplette Funktion kann ich ja nicht übergeben 8) Die ID wird beim klicke eines Links mit übergeben. Hier noch mal ein Link:

<a class="aa" href="#" onclick="plopp('menua'); return false;" onfocus="this.blur()">Liste</a>

menua ist ein Wert den ich der Funktion weitergebe. Dieser wird als ID behandelt wenn ich das korrekt verstanden hab. Ich kann den Wert zwar auslesen und speichern aber dort steht ja nicht drin ob das Menü nun ausgeklappt ist oder nicht 8)

Gut...da ich meine Hausaufgaben gerne selber mache bitte nicht gleich alles verraten sondern bischen auf die Sprünge helfen wenn es geht. Ich lern gerne durch eigene Erfahrung 8)


Danke Euch

Poki

P.S: Ich hoffe das geht nicht zu weit an PHP vorbei aber nen Keks möcht ich nicht setzen...allerdings habe ich beim Keks dann ja das selbe Problem. Wahrscheinlich denke ich wieder im zu großen Umfang und sehe dadurch wieder das simple nicht. Passiert mir oft 8)
 
Zuletzt bearbeitet:
Hallo

Ich hoffe ich sehe das Richtig!

Du hast also ein Menü welches über JScript gesteuert wird. In etwa so

Menu1

-Submenu1
-Submenu1.1
-Submenu1.3

Menu2

-Submenu2
-Submenu2.1
-Submenu1.3

ich hoffe das ich das so richtig gesehen habe. Also ich weiß nicht wie du deine Seiten jetzt öffnest ob über include oder ob du sie jeweils einzeln ladest. Wenn du die Seiten über include() reinholst wird das ganze ja wohl kein Problem sein. Wenn du aber die Seiten einzeln öffnest kannst du den wert ja auch in der Url mitweitergeben.

Zudem wie funktioniert das? Wenn ich auf Menu1 klicke dann geht nur das Submenu1 auf richtig?

Und wenn ich dann auf Submenu1 [Element.Menu1] klicke dann öffnet sich erst die neue seite oder ?

Also wenn das so ist dann kannst du den Menustatus via PHP über die Url an die nächste Seite weitergeben und wieder auslesen lassen.

Ich hoffe das ich Dir damit schon ein bisschen helfen konnte.

Gruß Mirko
 
Original geschrieben von Pokemoz
Das Problem ist natürlich das beim anklicken eines Links und anchdem die Seite dann aufgebaut wurde das Menü wieder zugeklappt ist. Das soll natürlich nicht der Fall sein 8)
Also prinzipiell must Du beim laden der Seite die Funktion ausführen, damit ein entsprechender Menüpunkt ausgeklappt wird.

Du musst nur zusehen, dass Du die ID des Menüpunktes, der aufgeklappt werden soll, irgendwo gespeichert wird. Mit Cookies/Sessions wird das ganze nicht wirklich funktionieren, Da Du dann ja die jeweilige ID aus JavaScript heraus an ein seperates Script übergeben musst, was dann wiederum das Speichern in einem Cookie/Session vornimmt.

So ganz kompliziert brauchts auch nich zu sein: Einfach, wenn Die Funktion ausgeführt wird, den aktuellen Fensternamen ändern ;o) Der wird "Session-Like" zu jeder Seite mit transportiert und ist sozusagen "global" verfügar.
 
gebe den Links doch eine ID, welche identisch ist mit der PHP-Variablen $page.

In PHP kannst du dann leicht prüfen, ob es sich bei dem Link um den zu der Variable zugehörigen handelt und das entsprechende display-Attribut(none/block)in den Link schreiben.

Da waäre natürlich hilfreich, wenn du das Menu in PHP in einer Schleife erzeugen würdest.
 
Zurück