2014-05-10 3 views
5

Dies ist eine theoretische Frage. Meine Frage ist, ob eine jQuery-Funktion oder ein Skript in einer PHP-Funktion geschrieben werden kann. Zum BeispielJavaScript jQuery in PHP-Funktion

<?php function phpfunc(){ 
$a=10; ?> 

<script>var a ='<?php $a ?>'</SCRIPT> <?php } ?> 

Ist das möglich und legal?

+1

ja, das wird gut funktionieren. Gib einfach '$ a' zurück, anstatt nichts damit zu tun. – Bryan

+0

Dies funktioniert .und möglich – Babu

+0

@ user3187838 die Antwort Ihre ausgewählte beantwortet Ihre Frage nicht, Bearbeiten Sie Ihre Frage oder überprüfen Sie die Antworten – Patrick

Antwort

3

Ja, es ist in Ordnung, das zu tun:

Sie können auch PHP-Variablen echo Variablen in JavaScript wie verwenden. Nein, das ist wahrscheinlich keine gute Idee. Aber nichts hält dich wirklich auf.

Seien Sie sich bewusst sein, dass, wenn Ihre Variable einen ' in ihm haben passiert, werden Sie verkorkste erhalten. So

, wenn Sie eine Variable von PHP JavaScript übergeben möchten, müssen Sie json_encode verwenden:

<script type="text/javascript"> 
    alert(<?php echo json_encode($something); ?>); 
</script> 

Hinweis, dass es keine Anführungszeichen in dem Teil JavaScript - json_encode wird Anführungszeichen hinzufügen, wenn nötig. Dies kann verwendet werden, um fast jede Art von Variablen zu übergeben.

1

Die kurze Antwort ist nein (bearbeiten: ja).

Javascript wird auf dem Client und nur auf dem Client ausgeführt.

Sie können jedoch Javascript an den Client senden.

So etwas, wie:

$JSfunction = "<script>alert('This is working')</script>"; 

können, indem Sie echo $JSfunction;

Bearbeitung auf der Seite hallte werden:

Da Sie erwähnen nicht, wo diese Funktion befindet, nahm ich an Sie meinte die PHP-Funktion auf der Serverseite.

Um klar zu sein, wenn es auf der HTML-Seite selbst geschrieben wird, ist es völlig in Ordnung und kann getan werden.

vollständige Antwort

<? function phpfunc(){ 
$a=10; ?> 
<script>var a ='<?php echo $a ?>'</SCRIPT> <?php } ?> 

<?php phpfunc() ?> 
<script>console.log(a);</script> 

Sie müssen echo, dass ein

+0

Diese kurze Antwort ist eigentlich ja. Seine Frage ist, kann jquery Funktion oder Skript in PHP-Funktion geschrieben werden, und es kann sicher. – Ohgodwhy

+0

@ohgodwhy Bearbeitete meine Antwort, ich nahm an, dass die Frage auf dem Server-Code gestellt wurde. – Patrick

+0

_Wenn es auf der html _.... php auf HTML-Seite geschrieben wird, wie kommt .... – Jai

4

$ Ja. Es ist möglich und legal auch. Im Allgemeinen verwenden wir dasselbe, wenn wir zur Laufzeit einen clientseitigen Server-seitigen Wert benötigen.

Hoffe das beantwortet Ihre Anfrage.

Vielen Dank!

3

Wenn PHP-Code von dem Sever interpretiert schreibt so etwas wie:

<?php 

function foo() 
    { 

     <script type=text/javascript> ... </script> 

    } 

?> 

Als Teil des Codes in <?php ?> als PHP und Zeichenfolge innerhalb der Funktion tut jede PHP-Funktionen darstellen interpretiert

Sie Javascript-Code (oder einen Inhalt eines HTML-Dokument) durch Ihren pHP-Code kann echo wie:

<?php 

function foo(){ 

echo "<script type=text/javascript> alert('it works!)'; </script>"; 


} ?> 

so, wenn Sie die fu ausführen Sie fügen dem Dokument das JavaScript hinzu, indem Sie es erneut ausgeben und es daher ausführen.

<?php 

function foo(){ 

echo "<script type=text/javascript> alert('{$phpVariable}'); </script>"; 


} ?> 

oder

<?php 

function foo(){ 

echo "<script type=text/javascript> var variableFromPHP = {$phpVariable}; </script>"; 


} ?> 
+0

Ich mag die Art, wie er es besser als das tut. Warum Echo, wenn Sie das Markup einfach wie in der ursprünglichen Frage drucken können? – Bryan

+0

das OP ist nicht klar, wo der Code geschrieben wird, nahm ich an, dass der Code auch auf dem Server geschrieben wird. das OP angenommen clientseitigen Code. – Patrick

0

Ja, Sie können es wie in normalen HTML-Seite verwenden. Verwenden Sie das Skript include inside echo innerhalb des PHP-Skripts.

Sie können es normalerweise außerhalb des PHP-Skripts verwenden. Verwenden Sie container-Tag für das gleiche in der PHP-Seite.

Ich hoffe, es würde helfen.

+0

Willkommen bei Stack Overflow! Diese Frage hat bereits viele Antworten (von denen eine akzeptiert wird) und benötigt daher höchstwahrscheinlich keine neue, es sei denn, die neue Antwort liefert neue Informationen. – ollpu