2012-10-10 19 views
8

Ich versuche, eine Javascript-Funktion von PHP aufrufen. Nach all den Beispielen, die ich mir angesehen habe, sollte folgendes funktionieren, tut es aber nicht. Warum nicht?Aufruf von Javascript-Funktion von PHP

<?php 
    echo "function test"; 
    echo '<script type="text/javascript"> run();  </script>'; 
?> 

<html> 
    <script type="text/javascript"> 
     function run(){ 
      alert("hello world"); 
     } 
    </script> 
</html> 
+2

Sie müssen die Funktion ausführen, nachdem es deklariert wurde. Im obigen Beispiel führen Sie eine undefinierte Funktion aus. –

+0

Aber das macht keinen Sinn, ich habe das getestet, aber einen run(); innerhalb des Javascript, bevor die Funktion definiert wurde und die Funktion trotzdem korrekt aufgerufen wurde. – user1334130

+0

Es macht vollkommen Sinn. Sie können es in dem gleichen "

4

die Funktion vor
Verwendung erklären muss es sein sollte

<html> 
    <script type="text/javascript"> 
     function run(){ 
      alert("hello world"); 
     } 
     <?php 
     echo "function test"; 
     echo run();  ; 
    ?> 
    </script> 
</html> 
0

Wie andere haben vorgeschlagen, die Funktion zuerst deklariert werden muss. Aber, wenn Sie zuerst das JavaScript aus PHP heraus echo müssen, können Sie entweder speichern sie in einer PHP-Variablen später ein Echo aus, oder Code warten müssen für den dom zuerst fertig geladen ...

document.ready = function() { 
    run() 
    } 

Wenn Sie jQuery oder ein anderes Framework verwenden, haben sie eine bessere Möglichkeit, dies zu tun ... In jQuery: