繁体   English   中英

在javascript的innerhtml内部回显php变量

[英]echo php variable inside innerhtml of javascript

我如何在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>

请如何解决此问题。

这取决于php变量是什么,如果它是标量值,则可以直接回显它( 但请记住转义特殊字符,这会破坏javascript语法 )。

而且,如果php变量不是标量值(例如array ),则不能直接回显它,必须使用该变量构造有效的javascript代码。

<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>
<?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>

演示并单击图像

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

总体而言,您的代码没有任何问题。 但是,这可能是由于代码中的次要和隐藏语法错误引起的。

如果您使用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非法

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

资源

根据您所包含的源代码,在$mglist$aglist分配中有换行符,导致JavaScript行为$aglist

将它们放在1行中。

$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>';

共享源代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM