Zum Inhalt springen

JavaScript in PHP


dela

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>";

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...