dela Geschrieben 22. August 2012 Geschrieben 22. August 2012 Hallo, ich möchte javascript in php einbinden: <?php function hilfe(){ $print = "<script type='text/javascript'>"; $print .= "function toggleElementDisplay(id)"; $print .= "{"; $print .= "var element = document.getElementById(id);"; $print .= "var css = element.style;"; $print .= "if (css.display == 'block') {"; $print .= "css.display = 'none';"; $print .= "return;"; $print .= "}"; $print .= "css.display = 'block';"; $print .= "}"; $print .= "</script>"; $print .= "<a href='#' onclick='toggleElementDisplay('funny-box');'>Anreise</a>"; $print .= "<div id='funny-box'' style='border: 1px solid #fc6; display: none;'>"; $print .= "text test bla bbla....."; $print .= "</div>"; return $print; } ?> leider wird nur der Button angezeigt, passiert jedoch nichts. kann man den nicht javascript funktionen in php aufrufen?
sas86ks Geschrieben 22. August 2012 Geschrieben 22. August 2012 (bearbeitet) Das war Bull****, sry Bearbeitet 22. August 2012 von sas86ks
dadagor Geschrieben 22. August 2012 Geschrieben 22. August 2012 So muss es aussehen: <?php function hilfe(){ $print = "<script type=\"text/javascript\">"; $print .= "function toggleElementDisplay(id)"; $print .= "{"; $print .= "var element = document.getElementById(id);"; $print .= "var css = element.style;"; $print .= "if (css.display == 'block') {"; $print .= "css.display = 'none';"; $print .= "return;"; $print .= "}"; $print .= "css.display = 'block';"; $print .= "}"; $print .= "</script>"; $print .= "<a href=\"javascript:toggleElementDisplay(\"funny-box\");\">Anreise</a>"; $print .= "<div id=\"funny-box\" style=\"border: 1px solid #fc6; display: none;\">"; $print .= "text test bla bbla....."; $print .= "</div>"; return $print; } ?> Grüße
dadagor Geschrieben 22. August 2012 Geschrieben 22. August 2012 Nene, das war schon richtig.. ;-) PHP ist Serverseitig und JavaScript Clientseitig. In die eine Richtung funktioniert das also nicht: Wenn man z.B. ein PHPScript in ein JavaScript einbinden möchte, funktioniert das nicht. In die andere Richtung allerdings schon: Da JavaScript wie HTML auch Clientseitig ist kann der Aufruf über PHP ohne Probleme erfolgen. Grüße
dela Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 gibt es eine andere möglichkeit mit der man unkompliziert so einen ausklapbaren text generieren kann?
dadagor Geschrieben 22. August 2012 Geschrieben 22. August 2012 Hauptsächlich gehts hierum: $print .= "<a href='#' onclick='toggleElementDisplay('funny-box');'>Anreise</a>"; Wenn du eine Funktion mit einem Link aufrufen möchtest musst du als "href" "javacript:asdaskfhajkfnhak()" eingeben. Damit das auch richtig funktioniert, musst du bei der Übergabe der Variable "id" die doppelten Anführungszeichen nehmen. Diese kannst du dann mit einem führenden backslash (\) in php einbinden: echo "Anführungszeichen: \""; So sieht dann deine Zeile aus: $print .= "<a href=\"javascript:toggleElementDisplay(\"funny-box\");\">Anreise</a>";
sas86ks Geschrieben 22. August 2012 Geschrieben 22. August 2012 Ja es war richtig aber hatte kein Bezug hierzu
dela Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 das ist wieder ein ausschnitt aus dem quellcode da oben. und es passiert dabei nichts...
dela Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Kennt jemand eine möglichkeit das ganze ohne javascript zu realisieren? nur mit php?
flashpixx Geschrieben 22. August 2012 Geschrieben 22. August 2012 JavaScript wir ebenso wie der HTML Code aus dem PHP Code an den Browser geschickt und dort ausgeführt. Der PHP Code läuft nur auf dem Server, d.h. das PHP Script geniert HTML Code, in dem JavaScript enthalten ist, das gelangt zum Browser und wird dort ausgeführt. JavaScript ist clientseitig, PHP serverseitig. Wenn PHP mit der Seite kommunizieren soll, dann brauchst Du nachdem die Seite versendet wurde, ein zweites Script, das via Ajax an die Seite angebunden wird. Da HTTP stateless ist, ist nachdem das PHP Script seine Daten versendet hat, die Kommunikation beendet, brauchst Du eben doch Kommunikation muss diese vom Browser iniitiert werden, also so etwas wie ein Ajax Aufruf. Aber generell solltest Du einmal bitte das ganze Problem beschreiben und vor allem nutze bitte die Quellcode-Tags
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden