web-dev-qa-db-ja.com

PHPからJavaScript関数を呼び出す

PHPからJavaScript関数を呼び出そうとしています。すべての例によると、私が以下を見てきたことはうまくいくはずですが、うまくいきません。何故なの?

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

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

HTMLが無効です。一部のタグがありません。

そして、あなたはこのように、それが宣言された後に関数を呼び出す必要があります

<html>
    <head>
       <title></title>

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

           <?php
               echo "run();";
           ?>
       </script>

    </head>
    <body>
    </body>
</html>

この場合、実行をメソッド宣言の前に配置できますが、メソッド呼び出しを別のスクリプトタグ内にラップするとすぐに、スクリプトタグをメソッド宣言の後に置く必要があります。

試してみてください http://jsfiddle.net/qdwXv/

16
Upvote

関数は使用前に宣言する必要があります
そのはず

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

他の人が示唆したように、関数を最初に宣言する必要があります。ただし、JavaScriptをPHPから最初にエコーする必要がある場合は、それをPHP変数に格納して後でエコーするか、コードを最初にdomの読み込みが完了するのを待ちます...

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

JQueryまたは別のフレームワークを使用している場合は、それらをより適切に行う方法があります... jQueryの場合:

$(function(){
   run();
})
0
Thom Porter