Hi Leute,
ich weiß, dass dieses Problem schon öfters in diesem Forum behandelt wurde, allerdings habe ich bisher keine genügsame Lösung für mein Problem gefunden.
Ich habe den folgenden Code in meiner Seite:
Diese Funktion wird auf einer PHP-Seite durch anklicken bestimmter Links aufgerufen.
Dadurch wird eine bestimmte Tabelle mit Unterbereichen sichtbar bzw. unsichtbar. Die gesamte Seite wird per PHP erzeugt und die Bereiche aus einer Datenbank ausgelesen. Damit kann die Anzahl der Bereiche, die aufgeklappt werden können, von mal zu mal variieren.
Sobald eine Aktion durchgeführt wird, die ein reload der Seite verursacht, wird die Struktur neu geladen und das Menü ist natürlich zugeklappt.
Durch meine Sprachdefizite in JavaScript und PHP war es mir soweit nicht möglich das Problem selbst zu lösen. Ich habe jedoch 2 Vorschläge, die vielleicht jemand von euch umsetzen kann:
1. Man könnte vor dem Senden der Seite ein JavaScript aufrufen, das alle aufgeklappten Bereiche durchzählt, zwischenspeichert mit Trennzeichen und mitsendet. Anschließend könnte ein PHP-Script den String auftrennen und auswerten, welche Bereiche aufgeklappt sein sollen.
2. Bei jedem Klick wird in einem Cookie (per JavaScript) mitgespeichert, welcher Bereich angeklickt wurde. Sobald die Seite gesendet und neu geladen wird, kann...
a) ...ein weiteres JavaScript den Cookie auswerten und die Bereiche aufklappen
b) ...das PHP-Script die aus dem Cookie mitgesendeten Daten auswerten und ein aufgeklapptes Menü verschicken
Ich hoffe die Vorschläge sind eindeutig erklärt, ansonsten könnt ihr mich gerne Fragen. Bitte schreibt mir nicht, ich soll kein JavaScript benutzen oder auf eine andere Weise ausweichen.
Vielen Dank und nette Grüße
gocyla
ich weiß, dass dieses Problem schon öfters in diesem Forum behandelt wurde, allerdings habe ich bisher keine genügsame Lösung für mein Problem gefunden.
Ich habe den folgenden Code in meiner Seite:
PHP:
function switchlayer(Layer_Name) //Öffnet+schließt die Unterbereiche
{
var GECKO = document.getElementById? 1:0 ;
var NS = document.layers? 1:0 ;
var IE = document.all? 1:0 ;
if (GECKO)
{
document.getElementById(Layer_Name).style.display=(document.getElementById(Layer_Name).style.display=='block') ? 'none' : 'block';
}
else if (NS)
{
document.layers[Layer_Name].display=(document.layers[Layer_Name].display=='block') ? 'none' : 'block';
}
else if (IE)
{
document.all[Layer_Name].style.display=(document.all[Layer_Name].style.display=='block') ? 'none' : 'block';
}
}
HTML:
<a class='navactive' onclick='javascript:switchlayer("bereich54"); return false;'>blabla</a>
Sobald eine Aktion durchgeführt wird, die ein reload der Seite verursacht, wird die Struktur neu geladen und das Menü ist natürlich zugeklappt.
Durch meine Sprachdefizite in JavaScript und PHP war es mir soweit nicht möglich das Problem selbst zu lösen. Ich habe jedoch 2 Vorschläge, die vielleicht jemand von euch umsetzen kann:
1. Man könnte vor dem Senden der Seite ein JavaScript aufrufen, das alle aufgeklappten Bereiche durchzählt, zwischenspeichert mit Trennzeichen und mitsendet. Anschließend könnte ein PHP-Script den String auftrennen und auswerten, welche Bereiche aufgeklappt sein sollen.
2. Bei jedem Klick wird in einem Cookie (per JavaScript) mitgespeichert, welcher Bereich angeklickt wurde. Sobald die Seite gesendet und neu geladen wird, kann...
a) ...ein weiteres JavaScript den Cookie auswerten und die Bereiche aufklappen
b) ...das PHP-Script die aus dem Cookie mitgesendeten Daten auswerten und ein aufgeklapptes Menü verschicken
Ich hoffe die Vorschläge sind eindeutig erklärt, ansonsten könnt ihr mich gerne Fragen. Bitte schreibt mir nicht, ich soll kein JavaScript benutzen oder auf eine andere Weise ausweichen.
Vielen Dank und nette Grüße
gocyla