2009-11-14 9 views
1

J'ai ce code php et la variable sont des données XMLEnvoyer XML dans une variable js

$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> " ;` 

cela est passé à une fonction javascript

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

Mon problème est que le lien ne soit pas affiché correctement et plus important, il n'y a pas de données quand il arrive à la fonction js

Quelqu'un pourrait-il me dire comment envoyer des données XML via une variable js s'il vous plaît?

+0

Vous venez de poser la même question il y a 40 minutes? http://stackoverflow.com/questions/1734555/send-xml-in-a-js-variable-to-fusioncharts –

Répondre

1

Vous devez encoder le strXML afin de le rendre comme HTML valide. De plus, vous devez l'entourer d'apostrophes pour qu'il devienne un littéral Javascript valide.

echo 
    "<td align='right' onClick='drawchart(\"" . 
    htmlspecialchars(json_encode($strXML)) . 
    "\")'> $totalcost </td>"; 
+1

L'enfermer avec des apostrophes ne suffit pas, vous devez éviter les apostrophes (ou autres barres obliques inverses) dans la chaîne avant de l'entourer de guillemets simples. La façon la plus simple de faire tout cela en une fois est: '' bobince

0

Quel est le résultat final que vous recherchez - en ignorant la partie XML/JS?

Si vous essayez juste d'attribuer d'autres attributs au tableau, ne pouvait pas vous suffit de charger les données via la fonction 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"); 
0

semble que vous avez raté quelque chose dans ce: echo "< td align = 'droit' onclick = 'drawchart ($ strXML)'> $ totalcost </td> ";`

il devrait être:

echo" < td align = 'droit' onclick = 'drawc hart (\ "$ strXML \") '> $ totalcost </td> ";`

Questions connexes