ERLEDIGT
JA
JA
ANTWORTEN
21
21
ZUGRIFFE
1500
1500
EMPFEHLEN
-
Hallo zusammen,
Problemstellung:
In einem kleinen Formular kann man sich für 2 Optionen entscheiden, sagen wir mal
a) ja
b) nein
Je nach der Auswahl (wobei beide nie gleichzeitig gewählt sein können), soll ein
ein kleiner Info-Bereich erscheinen.
Die beiden Info-Bereiche sind im "Grundzustand" mittels CSS auf 'display:none'. Um das jeweilige Info-Fenster einzublenden, reicht es die Eigenschaft auf 'display:block' zu ändern.
Nun zu meiner Frage:
Ist es mit PHP möglich den CSS-Wert eines Elements zu ändern? (Sprich, ich lese mit $_POST['wert1'] den Zustand aus und "reagiere" entsprechend..aber wie kann ich "reagieren"
)
PHP ist in einem CSS-Teil nicht möglich (erlaubt?). wie auch immer es funktioniert effektiv nicht (z.B. display: <?php echo $variabel; ?>
Grüsse,
Rexo
PS: Eine Lösung mit Javascript ist möglich, möchte es aber nur sehr sehr ungern einsetzen
-
Es ist möglich. Das Problem hierbei wäre jedoch, dass PHP serverseitig interpretiert wird und das Formular somit abgeschickt werden müsste.
Markus Wulftange
-
Das Formular kann abgeschickt werden. (Nur eine Markierung der entsprechenden Auswahl (focus) wäre natürlich schöner, aber nicht zwingend notwendig)
Dann "hangelt" man sich durch die Anmelderoutine.
Die Idee ist:
Sind Sie bereits Kunde?
x Ja
x Nein
->> um dann entsprechend "interaktiv" zu reagieren, um so dem Nutzer nur soviel Info einzublenden, wie nötig.
Wie? Ich benötige keine "fertiges" Skript.. der Grundgedanke (kurze Erklärung) // Stichwort sollte reichenEs ist möglich. Das Problem hierbei wäre jedoch, dass PHP serverseitig interpretiert wird und das Formular somit abgeschickt werden müsste.
-
Also wenn das Formular nicht abgeschickt werden kann, dann kannst Du da mit PHP nichts reissen sondern wirst wohl mit JavaScript beigehen muessen.
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Prüfe doch einfach den übermittelten Wert:
PHP-Code:if( $_POST['wert'] == 'foo' ) {
echo 'Info für foo';
}
if( $_POST['wert'] == 'bar' ) {
echo 'Info für bar';
}
Markus Wulftange
-
Also wenn das Formular nicht abgeschickt werden kann, dann kannst Du da mit PHP nichts reissen sondern wirst wohl mit JavaScript beigehen muessen.Das Formular kann abgeschickt werden. (Nur eine Markierung der entsprechenden Auswahl (focus) wäre natürlich schöner, aber nicht zwingend notwendig)
Ich möchte aber keine Text-Ausgabe, sondern die Änderungen eines CSS-Wertes.if( $_POST['wert'] == 'foo' ) {
echo 'Info für foo';
}
if( $_POST['wert'] == 'bar' ) {
echo 'Info für bar';
}
Grundzustand
#infobox {
display: none;
weitere CSS-Eigenschaften...
}
soll zu
#infobox {
display: block;
weitere CSS-Eigenschaften...
}
werden, wenn der Nutzer die enstprechende Option gewählt hat, das hab ich mit
gemeint, hoff nun ist es klarerst es mit PHP möglich den CSS-Wert eines Elements zu ändern? (Sprich, ich lese mit $_POST['wert1'] den Zustand aus und "reagiere" entsprechend..aber wie kann ich "reagieren" )
-
Huch, da muss ich irgendwie ein "nicht" dazu halluziniert haben.
PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
__________________
EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
__________________
__________________Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
Zitat von Friedrich Nietzsche
-
Dann heißt es: nein, mit PHP ist das nicht möglich. Du kannst zwar mit PHP ein Stylesheet oder Eigenschaftsdeklarationen ausgeben aber die Eigenschaften des Elements selbst kannst du mit PHP nicht verändern. Das ist nur mit JavaScript möglich.
Markus Wulftange
-
Da kommt mir grade ne Idee
Wenn man den Wert nicht ändern kann, naja dann vergibt man direkt komplett neue Eigenschaften:
<div id="infobox_ausgeblendet">
Inhalt
</div>
und das wird zu
<div id="infobox_eingeblendet">
Inhalt
</div>
Innerhalb des body Teils kann ich direkt den php-Code einfügen
<div id=<?php echo $infobox?>>
Inhalt
</div>
Das hab ich bereits bei meiner Navigation so gelöst, man muss darauf achten, dass die Anführungszeichen ein Teil des php-"Codes" sind.
Dann werd ich direkt den Wert beim Abschicken des Formulars abfragen und entsprechend die Variable infobox in "infobox_eingeblendet" oder "infobox_ausgeblendet" ändern, wobei die Eigenschaften im CSS seperat hinterlegt sind.
Werd später (nach dem Grillen
) berichten, ob's reibungsfrei geklappt hat.
Grüsse
-
Wozu gibst du denn beide Infotexte aus, wenn dann sowieso nur einer dargestellt wird?
Markus Wulftange
-
Wenn der User noch keine Auswahl getroffen hat, wird keine der beiden Info-Texte angezeigt und je nach Auswahl des Users (mit anschließendem Absenden des Formulars) wird einer der beiden Info-Texte angezeigt. Es werden somit nie!! beide Texte ausgegebenWozu gibst du denn beide Infotexte aus, wenn dann sowieso nur einer dargestellt wird?
Mein Lösungsweg hat wunderbar funktioniert, eine schön dynamische Geschichte ohne Ladezeiten bzw. Seitenwechsel.
Damit wird das Thema geschlossen (erledigt)
-
Dein Eingangsbeitrag sagt aber etwas anderes:
Beide Texte werden ausgegeben aber nur einer von beiden oder keiner soll dargestellt werden.Die beiden Info-Bereiche sind im "Grundzustand" mittels CSS auf 'display:none'. Um das jeweilige Info-Fenster einzublenden, reicht es die Eigenschaft auf 'display:block' zu ändern.Markus Wulftange
-
Das, was Gumbo wohl meint, ist...wozu gibst du etwas aus, was du nicht zeigen willst?
Wenn etwas "display:none" hat..dann wird es nicht angezeigt.... und da du auf JS verzichten willst, wird es auch nie angezeigt werden.... warum also gibst du es überhaupt aus
-
18.06.06 06:29 #14
Hallo!
Den Sinn verstehe ich auch nicht.
Zitat von Sven Mintel
Denn display:none verhindert ja nur die Darstellung im Browser..... im Quelltext stehen die <div>-Elemente trotzdem.
Bei z.b. einem Frage-/Antwortspiel würde es also nicht besonders gut kommen.
Statt dessen könnte man es z.b. so machen:
Gruss Dr DauPHP-Code:<?php error_reporting(E_ALL); ?>
<html>
<head>
<title>DIV-Box</title>
<style type="text/css">
.show { display: block; }
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="checkbox" name="box1"> Box 1<br>
<input type="checkbox" name="box2"> Box 2<br>
<input type="checkbox" name="box3"> Box 3<br>
<input type="submit" value="DIV-Box anzeigen">
</form>
<?php
if(isset($_POST['box1'])) {
echo '
<div class="show">
Inhalt der 1. DIV-Box.
</div>
';
}
if(isset($_POST['box2'])) {
echo '
<div class="show">
Inhalt der 2. DIV-Box.
</div>
';
}
if(isset($_POST['box3'])) {
echo '
<div class="show">
Inhalt der 3. DIV-Box.
</div>
';
}
?>
</body>
</html>Schri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
Wie bereits oben geschrieben, gibt es eine Auswahl auf die Frage: "Sind Sie bereits Kunde?" -> Ja / Nein (als Radiobutton)Das, was Gumbo wohl meint, ist...wozu gibst du etwas aus, was du nicht zeigen willst?
Wenn etwas "display:none" hat..dann wird es nicht angezeigt.... und da du auf JS verzichten willst, wird es auch nie angezeigt werden.... warum also gibst du es überhaupt aus
Zu Beginn sind beide Info-Blöcke auf display: none und werden somit nicht angezeigt, dass es im Quelltext steht, stört (mich) nicht weiter.
Je nach Auswahl des Users wird ein Info-Block angezeigt(2 Stück: Info-Block auf die Antwort 'Ja' || Info-Block auf die Antwort 'Nein').
Doch je nach Auswahl des Users wird es nun eingeblendet und kann bei Bedarf (bei einer Falschauswahl des Users) erneut ausgeblendet werden. Wobei immer ein Info-Block vorhanden ist, nachdem der User einmal das Formular abgesendet hat, da dann dieund da du auf JS verzichten willst, wird es auch nie angezeigt werden....
$_POST['auswahl_des_radiobuttons'] den Wert 'ja' oder 'nein' trägt und damit das entsprechende Info-Fenster eingeblendet wird.
@Dr Dau:
Die Lösung ist natürlich auch möglich, aber nicht besonders elegant in meinem Fall, da ich die beiden Info-Blöcke auch wieder ausblenden möchte (wenn der User eine Falschauswahl korrigieren möchte),
z.B.
Grundzustand (kein Radiobutton gewählt) --> kein Info-Block
- Ja --> Info-Block1 wird eingeblendet.. nun merkt der User, dass er doch kein Kunde ist und somit keine Daten sich einzuloggen (der Login-Teil) wird auch eingeblendet
nun betätigt er den Radiobutton Nein und schickt das Formular erneut ab.
- Nein --> Info-Block1 wird ausgblendet und InfoBlock2 eingeblendet, desweitern wird der Login-Teil ausgeblendet und an dessen Stelle erscheint ein Formular, in dem sich der Neukunde erst registriern muss (Name, Vorname, Strasse,....etc.).
(das ganze kann man sich natürlich auch umgekehrt vorstellen, erst Nein, dann Ja,... oder doch dann wieder Ja..
)
Grüsse
Ähnliche Themen
-
SWT Shell Eigenschaften zur Laufzeit ändern
Von deinertsche im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 01.10.08, 13:41 -
Mehrere CSS Eigenschaften ändern
Von tombstone666 im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 06.11.07, 09:46 -
Slider-Element: Eigenschaften ändern?
Von bricktop im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 19.05.05, 15:19 -
Aus Arrayinhalt MC-Eigenschaften ändern
Von arrg im Forum Flash PlattformAntworten: 2Letzter Beitrag: 10.01.05, 19:23 -
eigenschaften zur laufzeit ändern
Von thecooper im Forum Visual Basic 6.0Antworten: 7Letzter Beitrag: 06.08.03, 09:59





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren