Javascript没有在php函数中运行

时间:2012-05-26 20:35:43

标签: php javascript function alert

我的编程逻辑在哪里出错?

我有2个php文件。文件1包含文件2.文件1从文件2调用php函数。在php函数内部有一堆html。 HTML完美无缺。在函数的最后我有这个javascript ....

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

这个javascript没有警告“你好”。 我做错了什么?

提前谢谢。

编辑:新问题,因为我已经完成了最后一个问题。

理论上,下面的代码会正常运行吗? (是/否)

<?php function AlertHelp(){ 
    ?><script>
        alert('help');
    </script><?
AlertHelp();
?>

1 个答案:

答案 0 :(得分:3)

在这里用你提供的有限信息进行疯狂的猜测。

我的假设是你没有通过PHP的includerequireinclude_oncerequire_once函数“包含”该文件,但实际上是使用AJAX加载在页面的内容中。

如果是这种情况,那么我还假设您正在使用innerHTML将内容放在页面上。

突然之间解决方案显而易见:<script>添加的innerHTML标签未被解析并运行。你可能会做这样的事情:

// assume `result` is the variable containing the AJAX response and `elem` the element it goes in
elem.innerHTML = result; // this doesn't change
result.match(/<script[^>]*>([\s\S]*?)<\/script>/i,function(m) {eval(m[1]);});

但请注意,如果可能,应避免使用eval。考虑重新设计布局以改为使用回调。