Veröffentlicht 22. August 201213 j 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?
22. August 201213 j 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
22. August 201213 j 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
22. August 201213 j gibt es eine andere möglichkeit mit der man unkompliziert so einen ausklapbaren text generieren kann?
22. August 201213 j 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>";
22. August 201213 j das ist wieder ein ausschnitt aus dem quellcode da oben. und es passiert dabei nichts...
22. August 201213 j Kennt jemand eine möglichkeit das ganze ohne javascript zu realisieren? nur mit php?
22. August 201213 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.