0

I am trying to export a fusion chart created using 'Embedding Charts Using / Tags'.

Export works just perfect with the right click (on the chart) and chose a pdf to export. But I am not able to make this work via javascript. I have a button outside the chart which upon clicking calls the function below

function myexport()
{
 var cObject = getChartFromId('Column3D');
        if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
}

the object above returned is null and this fails on the next line

here is the full prototype

<html>
 <head>
<title>My Chart</title>
<script type="text/javascript" src="fusionCharts.debug.js"></script>
<script type="text/javascript" src="fusionChartsExportComponent.js"></script>
<script type="text/javascript">
    function ExportMyChart() {
        var cObject = getChartFromId('Column3D');
        if( cObject.hasRendered() ) cObject.exportChart({exportFormat: 'PDF'});
 }
</script>
  </head>
  <body>
     <object width="400" height="400" id="Column3D" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"    codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" >         
<param name="testname" value="Column3D.swf" />         
<param name="FlashVars" value="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1&registerWithJS=1&debugMode=0">
<param name="quality" value="high" />         
<embed src="Column3D.swf" 
    flashVars="&dataURL=testData.xml&chartWidth=400&chartHeight=300&DOMId=myChart1&registerWithJS=1&debugMode=0"
    width="400" height="300" name="Column3D" quality="high" type="application/x-shockwave-flash"    pluginspage="http://www.macromedia.com/go/getflashplayer" />      
</object>

<!-- We also create a DIV to contain the FusionCharts client-side exporter component -->
<div id="holderDiv" align="center">FusionCharts Export Handler Component</div>
<script type="text/javascript">

 var myExportComponent = new FusionChartsExportObject("testExporter1", "FCExporter.swf");

//Render the exporter SWF in our DIV fcexpDiv
myExportComponent.Render("holderDiv");
</script>
<input type="button" value="Export My Chart" onclick="ExportMyChart()" />


Suppose you have two buttons SubmitButton and CancelButton and you do not want to CancelButton to fire validation plugin, just give CssClass="cancel" for CancelButton

    <asp:Button ID="CancelButton" runat="server" 
            Text="Return to List" 
            CssClass="cancel" />
4

2 回答 2

0

请在下面找到修改后的代码:

我的图表

函数 ExportMyChart() { var cObject = document.getElementById('Column3D'); if(cObject.hasRendered && cObject.hasRendered()) cObject.exportChart({exportFormat: 'PDF'}); }

FusionCharts 导出处理程序组件 var myExportComponent = new FusionChartsExportObject("fcExporter1", "../../FusionCharts/FCExporter.swf"); myExportComponent.Render("holderDiv");

希望这可以帮助。

于 2011-01-06T05:35:48.083 回答
0

在融合图表论坛上找到了答案。当图表的浏览器中同时使用嵌入和对象标记时,导出似乎存在问题。

此处解释了此解决方法

于 2010-12-30T01:28:22.693 回答