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>
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/
関数は使用前に宣言する必要があります
そのはず
<html>
<script type="text/javascript">
function run(){
alert("hello world");
}
<?php
echo "function test";
echo run(); ;
?>
</script>
</html>
他の人が示唆したように、関数を最初に宣言する必要があります。ただし、JavaScriptをPHPから最初にエコーする必要がある場合は、それをPHP変数に格納して後でエコーするか、コードを最初にdomの読み込みが完了するのを待ちます...
document.ready = function() {
run()
}
JQueryまたは別のフレームワークを使用している場合は、それらをより適切に行う方法があります... jQueryの場合:
$(function(){
run();
})