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

有効な HTML としてレンダリングするには、strXML をエンコードする必要があります。さらに、有効な Javascript リテラルになるように、アポストロフィで囲む必要があります。

echo
     "<td align='right' onClick='drawchart(\"" .
     htmlspecialchars(json_encode($strXML)) . 
     "\")'> $totalcost </td>";
于 2009-11-14T16:15:17.413 に答える
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 に答える
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 に答える