2012-10-10 11 views
8

Próbuję wywołać funkcję javascript z php. Zgodnie z wszystkimi przykładami, na które patrzę, powinny działać poniższe, ale tak nie jest. Dlaczego nie?wywoływanie funkcji javascript z 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

Musisz wykonać funkcję po jej zadeklarowaniu. W powyższym przykładzie wykonujesz niezdefiniowaną funkcję. –

+0

Ale to nie ma sensu, testowałem to, ale umieszczając run(); wewnątrz javascript przed zdefiniowaniem funkcji i nadal poprawnie nazywa funkcję. – user1334130

+0

Ma to sens. Możesz wykonać go w TYM SAMYM zakresie "

4

funkcja musi zadeklarować przed użyciem
powinno być

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

Jak inni sugerują, funkcja musi być zadeklarowane jako pierwszy. Ale jeśli trzeba powtórzyć z JavaScript z PHP pierwsze, można też przechowywać ją w zmiennej php echo później, albo mają swój kod czekać na dom, aby zakończyć ładowanie pierwszy ...

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

Jeśli używasz jQuery lub innego frameworka, prawdopodobnie mają lepszy sposób robienia tego ... W jQuery:

$(function(){ 
    run(); 
}) 
Powiązane problemy