| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

04-07-2005, 22:23
|
|
manuelme1
Newbie
|
|
Registriert seit: Jul 2005
Beiträge: 3
|
|
Auslesen einer Style-Eigenschaft mittels PHP
Hi,
ich habe ein Problem mit dem Auslesen der style-Eigenschaft display eines <DIV> mittels PHP.
Hier das DIV:
PHP-Code:
<div id="menu1" style="display: <?php echo $menu11; ?>;">
. . .
</div>
Und zwar kann die Variable $menu11 entweder 'inline' oder 'none' annehmen, was beim Seitenaufruf aus der URL ausgelesen wird.
Ändert nun ein User das DIV (durch einen Klick darauf wird das DIV entweder sichtbar oder ausgeblendet), soll diese Einstellung über die URL wieder zur nächsten Seite übergeben werden, was dann etwa so aussieht:
PHP-Code:
<a href="index.php?page=register&menu1=<?php echo $menu11; ?>&menu2=<?php echo $menu21; ?>"
Meine Frage nun: Wie lese ich mit PHP den Wert des 'display' vom DIV aus?
Die Variable $menu11 soll dann diesen Wert annehmen, also wieder entweder 'inline' oder 'none'.
Da die Kombination aus PHP und JavaScript nicht funktionert, weis ich nicht wie ich das anstellen soll.
In JavaScript lässt sich der Wert ja ziemlich einfach auslesen:
PHP-Code:
document.getElementById('menu1').style.display
mfg
manuelme1
__________________
Freude am Fliegen? Dann werde Mitglied bei den PC Pilots, ein Verein für alle Freunde des Fliegens...!
Informationen unter http://www.pc-pilots.de
|

04-07-2005, 22:49
|
|
derHund
PHP Master
|
|
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
|
|
wenn ich dich richtig verstanden habe: das geht nicht. php ist sich nicht bewußt, daß es gerade html geparst hat.
ich weiß nicht genau, was du machen möchtest ....
willst du auf den übergebenen parameter zugreifen? schau im $_GET.
willst du alle links dahingehend anpassen, daß sie den veränderten wert weitergeben? dann mußt du alle link per hand ( js) durchgehen, die parameter ändern ....
bitte genauer beschreiben, danke.
übergib den wert lieber per session, scheint mir passender ...
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
|

04-07-2005, 23:24
|
|
manuelme1
Newbie
|
|
Registriert seit: Jul 2005
Beiträge: 3
|
|
Nein, ich glaub du hast mich falsch verstanden.
Ich will einfach nur, dass meine Variable (hier: $menu11) die beim verlassen der Seite aktuelle Eigenschaft des 'display' annimmt.
PHP-Code:
<div id="menu1" style="display: inline"> # --> hier ist das DIV sichtbar
# oder
<div id="menu1" style="display: none"> # --> hier ist das DIV nicht sichtbar
wenn das DIV sichtbar ist, soll die Variable dann also so aussehen:
$menu11='inline';
sodass dieser Link:
PHP-Code:
<a href="index.php?page=register&menu1=<?php echo $menu11; ?>">
dann so aussieht:
PHP-Code:
<a href="index.php?page=register&menu1=inline">
damit ein geschlossenes DIV dann auf der nächsten Seite durch auslesen des Parameters in der URL auch wieder geschlossen ist. Sonst müsste es der User ja jedes mal wieder neu schließen.
Hoffe du kannst mein Prob. jetzt verstehen... Ich drück mich vielleicht manchmal etwas unverständlich aus!
Ich habs auch einfach mal mit JavaScript versucht, aber ich bekomm das wahrscheinlich einfachste nicht auf die Reihe: etwas an einen Link anzuhängen:
PHP-Code:
<a href="index.php?page=register&menu1="+<script language='JavaScript'> document.write(document.getElementById('menu1').style.display); </script>+">Hier klicken</a>
Der Link sieht dann im Browser folgendermaßen aus:
PHP-Code:
index.php?page=register&menu1=<script%20language='JavaScript'>document.write(document.getElementById('menu1').style.display);</script>
Vielleicht kannst du mir ja sagen wie ich das JS richtig an den Link anhänge, damit wäre mein Problem auch schon behoben, halt nicht mit PHP, aber das ist auch nicht so wichtig.
Danke!
__________________
Freude am Fliegen? Dann werde Mitglied bei den PC Pilots, ein Verein für alle Freunde des Fliegens...!
Informationen unter http://www.pc-pilots.de
|

05-07-2005, 00:27
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Hab dich glaube ich auch nicht richtig verstanden.
Aber ist dir klar, dass PHP serverseitig abläuft. also bevor die Seite im Browser angezeigt wird?
|

05-07-2005, 00:47
|
|
stun
Junior Member
|
|
Registriert seit: Feb 2004
Beiträge: 129
|
|
das kann nicht gehen. entweder du übergibst den wert an php oder du verwendest cookies...
|

05-07-2005, 10:24
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von manuelme1
Ich habs auch einfach mal mit JavaScript versucht, aber ich bekomm das wahrscheinlich einfachste nicht auf die Reihe: etwas an einen Link anzuhängen:
PHP-Code:
<a href="index.php?page=register&menu1="+<script language='JavaScript'>
document.write(document.getElementById('menu1').style.display);
</script>+">Hier klicken</a>
|
das ist ja absoluter nonsense.
du kannst nicht überall einfach <script> reinklatschen, wie's dir passt.
wenn überhaupt, dann gehe folgendermaßen vor:
- verschaffe dir eine referenz auf den link. (ob du dabei über document.links gehst oder getElement(s)ByIrgendwas, sei wurscht)
- ändere dessen href-attribut entsprechend. ja, dazu musst du es ggf. erst mal auseinanderdröseln, und anschließend mit dem geänderten wert für menuX wieder aneinandersetzen.
da obiger code allerdings vermuten lässt, dass es um dein grundlagenwissen in punkto JS nicht zum besten bestellt ist ... würde ich dir raten, dich erst mal noch ein wenig intensiver mit den grundlagen zu beschäftigen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

05-07-2005, 10:28
|
|
chansel0049
Member
|
|
Registriert seit: Apr 2004
Beiträge: 294
|
|
Direkt dürfte das nicht gehen,
entweder per JS und $_GET variablen-Anpassung aller Links oder ...
es wäre jedoch möglich in deinem Link per Javascript ein Cookie zu setzen, dass per PHP ausgelesen werden kann (allerdings nur wenn Cookies aktiviert/zugelassen sind)
Sonst könnte mann auch durch Link auf eine PHP Seite eine Variable in der Session setzen und die Auslesen einer Style-Eigenschaft mittels PHP um das Div mit neue Eigenschaft zu zeigen (ginge z.B auch innerhalb eines IFRAME)
Ansonsten nur per AJAX (was jedoch sicher etwas übertrieben wäre)
jedenfalls bedarf das Programmierkenntnisse
__________________
chansel0049
----------------------------------------------------
if you've reached the bottomline - dig further!
Übersetzer gesucht? http://www.babelport.com
|

05-07-2005, 13:58
|
|
manuelme1
Newbie
|
|
Registriert seit: Jul 2005
Beiträge: 3
|
|
Mir ist beim einschlafen was eingefallen, was funktionieren könnte, und es hat funktioniert.
Habs jetzt komplett mit JavaScript gemacht. Ist zwar etwas umständlich, aber es geht:
PHP-Code:
<script language="JavaScript">
function linkwrite(id,site,text) {
var begin="<a href='index.php?page=";
var vorn="&menu1=";
var m1=document.getElementById('menu1').style.display;
var m2=document.getElementById('menu2').style.display;
var mitte="&menu2=";
var schluss="' style='text-decoration: none' id='menu_members_link'><font color='#000000'> >> ";
document.getElementById(id).innerHTML=begin+site+vorn+m1+mitte+m2+schluss+text+" </font></a>";
}
</script>
Wenn man nun auf das DIV klickt, wird die Funktion aufgerufen und der entsprechende Link aktualisiert.
Ist halt etwas umständlich, da man das für jeden Link einzeln aufrufen muss:
PHP-Code:
<tr style="cursor: hand;" onClick="showmenu('menu1','image1');linkwrite('forgotten','forgotten','Passwort vergessen?');linkwrite('register','register','Registrieren');">
Wenn man ein großes Menü hat is das wahrscheinlich nicht gerade die effektivste Lösung.
Wenn trotzdem noch jemand einen anderen Vorschlag hat, der nicht so umständlich ist, wäre es schön wenn er gepostet wird...!
mfg
manuelme1
__________________
Freude am Fliegen? Dann werde Mitglied bei den PC Pilots, ein Verein für alle Freunde des Fliegens...!
Informationen unter http://www.pc-pilots.de
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|