1

我有这个 php 代码,变量是 XML 数据

$strXML = "<chart caption='ADI Chart Test ' xAxisName='Month' yAxisName='Units'"
$strXML.= "showValues='0'formatNumberScale='0' showBorder='1'>";

echo "<td align='right' onClick='drawchart($strXML)' > $totalcost </td> " ;` 

这被传递给一个javascript函数

function drawchart(dataX) {
var chart1 = new FusionCharts("../charts/Pie3D.swf", "chart1Id", "400", "300","1"); 
chart1.setDataXML(dataX);
chart1.render("chart1div");

我的问题是链接显示不正确,更重要的是当它到达js函数时没有数据

谁能告诉我如何通过 js 变量发送 xml 数据?

4

3 回答 3

1

您应该对 strXML 进行编码,以便将其呈现为有效的 HTML。此外,您应该用撇号将其括起来,以便它成为有效的 Javascript 文字。

echo
     "<td align='right' onClick='drawchart(\"" .
     htmlspecialchars(json_encode($strXML)) . 
     "\")'> $totalcost </td>";
于 2009-11-14T16:15:17.413 回答
0

您正在寻找的最终结果是什么 - 忽略 XML/JS 部分?

如果您只是尝试为图表分配其他属性,您不能通过setDataURL函数加载数据:

var url="/path/to/data.php";

var chart1 = new FusionCharts("../charts/Pie3D.swf", "chart1Id", "400", "300","1");

url=escape(url);

chart1.setDataURL(url);

chart1.addParam("WMode", "Transparent");

chart1.render("chart1div");
于 2009-11-14T23:52:22.713 回答
0

似乎你在这方面遗漏了一些东西: echo "<td align='right' onClick='drawchart($strXML)' > $totalcost </td> " ;`

它应该是:

echo "<td align='right' onClick='drawchart(\"$strXML\")' > $totalcost </td> " ;`

于 2009-11-29T19:40:55.980 回答