2009-11-14 4 views
1

У меня есть этот PHP код и переменные данные XMLОтправить XML в 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> " ;` 

это передается в яваскрипте функцию

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

является то, что не отображается Моя проблема ссылки правильно и, что более важно, нет данных, когда он попадает в функцию js.

Может ли кто-нибудь сказать мне, как отправлять XML-данные через переменную js, пожалуйста?

+0

Вы только что задали тот же вопрос 40 минут назад? http://stackoverflow.com/questions/1734555/send-xml-in-a-js-variable-to-fusioncharts –

ответ

1

Вы должны закодировать strXML, чтобы сделать его действительным HTML. Кроме того, вы должны заключить его с апострофами, чтобы он стал действительным литералом Javascript.

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

Приложений с апострофами недостаточно, вам нужно обратная косая черта - избегать любых апострофов (или других обратных косых черт) в строке перед включением в одинарные кавычки. Самый простой способ сделать это за один раз: '' ''. – bobince

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"); 
0

Кажется, вы что-то не хватает в этом: эхо "< тд присоединяются = 'право' OnClick = 'DrawChart ($ strXML)'> $ TotalCost </TD> ";`

должно быть:

эхо" < тд ALIGN = 'правильный' OnClick = 'drawc hart (\ "$ strXML \") '> $ totalcost </td> ";`

Смежные вопросы