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? Zitieren
sas86ks Geschrieben 22. August 2012 Geschrieben 22. August 2012 (bearbeitet) Das war Bull****, sry Bearbeitet 22. August 2012 von sas86ks Zitieren
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 Zitieren
dela Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 was hast du denn verändert? Zitieren
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 Zitieren
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? Zitieren
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>"; Zitieren
sas86ks Geschrieben 22. August 2012 Geschrieben 22. August 2012 Ja es war richtig aber hatte kein Bezug hierzu Zitieren
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... Zitieren
dela Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Kennt jemand eine möglichkeit das ganze ohne javascript zu realisieren? nur mit php? Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.