我在写一个web应用程序,它使用php从MYSQL数据库中提取数据。那边没问题。所选数据用于最终创建显示体育锻炼的SVG图像以进行辅导。到目前为止效果很好。 现在我希望能够使用SVG“onMouseOver”鼠标从嵌入式svg代码调用Javascript函数来显示关于练习的辅导点的文本信息。 svg代码嵌入在php sprintf函数中。将嵌入SVG的PHP变量传递给Javascript函数
$ID="E".$yourArray[$y-1]['ExerciseID'];
echo "Exercise ID is....". $ID."<br>";
$tablesvg=$tablesvg .sprintf('<use xlink:href="#table" id="%3$s" onMouseOver="showID()" fill="beige" x="%1$d" y="%2$d"/>',$tb1xcoord, $tbycoordoffset,$ID);
问题是没有数据从php变量显示在下面显示的javascript函数中。警报文本显示时功能稳定。
<script type="text/JavaScript">
function showID()
{
var jsvar = '<?php echo $ID;?>';
var test=document.getElementById(jsvar).getAttributeNS(null,"fill");
alert("Exercise ID is:" + test);
}
</script>
只要我不尝试通过PHP变量,它的工作 - 在JS功能的DOM部分作品,如果我硬编码值(E1)。
是对代码输出PHP函数中的Javascript?函数是否具有'全局$ ID;'? – Barmar
设置'$ ID'的代码是否在数组中循环?你使用'$ yourArray [$ y-1]'似乎暗示了它。您期望'$ ID'在Javascript中保留哪个值? – Barmar
最初是的,但是当它不起作用时,我在Javascript区域中隔离了函数。 – Charlie