从php调用js函数的问题

时间:2009-07-09 15:57:02

标签: php javascript

我正在使用我的php调用这样的js函数:

<?php 
$chk=1;
if($chk==1)
{
    echo '<script>testing();</script>';
}
?>

和我的js看起来像:

function testing()
{
   document.getElementById("mainbody").innerHTML="This is my first JavaScript!";
}

js是外部js文件。

我的HTML看起来像:

<html>
<head>
<script src="qotw.js"></script>
</head> 
    <body>
    <div id="mainbody"></div>     
    </body>
</html>

但这不起作用。我在这做错了什么? 如果你知道,请告诉我。

最佳

Zeeshan

3 个答案:

答案 0 :(得分:7)

在目标div存在之前运行脚本,因此document.getElementById调用返回false值而不是HTMLElementNode。

您需要移动script元素,使其位于div之后,或者将函数分配给事件处理程序(例如onload),而不是直接调用它。 / p>

这与PHP的使用无关。

顺便提一下,您的HTML为invalid并触发quirks mode

答案 1 :(得分:1)

确保在代码中没有在'mainbody'上面调用'testing',因为代码将在加载期间的某个点运行,此时对象不存在。

答案 2 :(得分:1)

尝试按顺序测试以下内容:
第一:你的脚本正在被调用

<script type="text/javascript">alert("hello");testing();</script>

第二:正在调用该函数

function testing() {
    alert('inside testing');
}

第三:如上所述,

if (document.getElementById("mainbody") == null) alert('yep, its null');

然后告诉我们结果