我试图从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>
答案 0 :(得分:16)
您的HTML无效。你错过了一些标签。
你需要在声明它之后调用它,就像这个
一样<html>
<head>
<title></title>
<script type="text/javascript">
function run(){
alert("hello world");
}
<?php
echo "run();";
?>
</script>
</head>
<body>
</body>
</html>
在这种情况下,您可以在方法声明之前放置运行,但只要将方法调用包装在另一个脚本标记内,脚本标记就必须在方法声明之后。
答案 1 :(得分:4)
该功能必须在使用前声明
它应该是
<html>
<script type="text/javascript">
function run(){
alert("hello world");
}
<?php
echo "function test";
echo run(); ;
?>
</script>
</html>
答案 2 :(得分:0)
正如其他人所建议的那样,需要首先声明该功能。但是,如果您需要首先从PHP回显JavaScript,您可以将其存储在PHP变量中以便稍后回显,或让您的代码等待dom首先完成加载......
document.ready = function() {
run()
}
如果你正在使用jQuery或其他框架,他们probalby有更好的方法来做到这一点......在jQuery中:
$(function(){
run();
})