Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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

was hast du denn verändert?

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

gibt es eine andere möglichkeit mit der man unkompliziert so einen ausklapbaren text generieren kann?

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

das ist wieder ein ausschnitt aus dem quellcode da oben.

und es passiert dabei nichts...

Kennt jemand eine möglichkeit das ganze ohne javascript zu realisieren? nur mit php?

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.