在javascript的innerhtml里面回显php变量

时间:2014-04-23 02:33:06

标签: javascript php html web echo

如何在javascript的innerhtml中回显这个php变量。我试过这个,但它没有用。如果php代码

,则不调用该函数
<a href="#"><img src="images/group3.png" alt="groups" border="0" title="Groups" onclick="return false" onmousedown="showGroups()"></a>
<script type="text/javascript">
function showGroups() {
        _('groupModule').innerHTML = '<div id="groupWrapper"><div id="groupList"><h2>My Groups</h2><hr /><?php echo $mgList; ?><h2>All Groups</h2><hr /><?php echo $agList; ?></div></div>';
</script>

请问我该如何解决这个问题。

4 个答案:

答案 0 :(得分:0)

这取决于php变量是什么,如果它是标量值,你可以直接回显它(但是记得逃避会打破javascript语法的特殊字符)。

如果php变量不是标量值(例如: array ),那么你就不能直接回应它,你必须使用变量构造有效的javascript代码。

答案 1 :(得分:0)

<script type="text/javascript">
function showGroups() {
   document.getElementById('groupModule').innerHTML = '<div id="groupWrapper"><div id="groupList"><h2>My Groups</h2><hr /><?php echo $mgList; ?><h2>All Groups</h2><hr /><?php echo $agList; ?></div></div>';
}
</script>

答案 2 :(得分:0)

<?php
$mgList = 'Test $mgList ';
$agList = 'Test $agList ';
?>

<a href="#"><img src="sample.png" alt="groups" border="0" title="Groups" onclick="showGroups()"></a>
<div id="groupModule">-- groupModule --</div>

<script type="text/javascript">
function showGroups() {
    document.getElementById('groupModule').innerHTML = '<div id="groupWrapper"><div id="groupList"><h2>My Groups</h2><hr /><?php echo $mgList; ?><h2>All Groups</h2><hr /><?php echo $agList; ?></div></div>'; 
}
</script>

DEMO并点击图片

如果您正在寻找类似的东西,请告诉我,我会上传文件

答案 3 :(得分:0)

总的来说,您的代码没有任何问题。但是,它可能是由代码中的次要和隐藏语法错误引起的。

如果您使用PHP脚本生成JavaScript,请检查输出源代码并确保它没有任何问题。

如果JavaScript没有执行,请使用浏览器的控制台进行调试。

未捕获的ReferenceError:未定义的showGroups

这正是它所说的。 showGroups未定义。 确保已正确定义showGroups

function showGroups() {
        _('groupModule').innerHTML = '<div id="groupWrapper"><div id="groupList"><h2>My Groups</h2><hr /><?php echo $mgList; ?><h2>All Groups</h2><hr /><?php echo $agList; ?></div></div>';
}
</script>

结束花括号} 非常重要

未捕获的SyntaxError:Unexpeted tokenError非法

这是由代码中的无效字符引起的。您是否从其他地方复制了代码?检查代码中是否有任何特殊字符。如果是这样,请将其删除。

Source

根据您提供的源代码,在$mglist$aglist的分配中包含一个换行符,导致JavaScript行为奇怪。

将它们放在一行。

$agList .= '<a href="group.php?g='.$row["name"].'"><img src="groups/'.$row["name"].'/'.$row["logo"].'" alt="'.$row["name"].'" title="'.$row["name"].'" width="50" height="50" border="0"></a>';

$mgList .= '<a href="group.php?g='.$row["gname"].'"><img src="groups/'.$row["gname"].'/'.$row["logo"].'" alt="'.$row["gname"].'" title="'.$row["gname"].'" width="50" height="50" border="0"></a>';

Shared source code