如何使用单个按钮在服务器上保存更多融合图表

时间:2013-01-24 09:38:08

标签: php fusioncharts

我正在尝试在服务器端保存图表。我成功地保存了一个图表。但我无法保存多个图表。 在这里我提到了2个图,但只有一个图表将保存在服务器上。  怎么会这样?

我的代码是

 <script type="text/javascript">
    var totalCharts = 2;


function exportCharts(exportType)
{

        for( var i = 0; i < totalCharts; i++ ) {
        var num = i+1;
        var id = "chart"+num+"Id";
        exportchart(exportType,id);


}
}

function exportchart(exportType,id)
{
var chart = FusionCharts(id);

        // Now, we proceed with exporting only if chart has finished rendering.
        if (chart.hasRendered() != true)
        {
                alert("Please wait for the chart to finish rendering, before you can invoke exporting");
                return;
        }

        // call exporting function
        chart.exportChart( {exportFormat: exportType} );


}

</script>

<p align="center">
    <input type="button" class="button" value="Export as PNG" onclick="exportCharts('PNG')" id="exportButtonPNG" />
  </p>

<div >
  <div id="average" style="text-align:center">Loading Chart... </div>
   <div id="overall" style="text-align:center">Loading Chart... </div>
  </div>

  <script type="text/javascript" >

        // Render the chart (See documentation for explanation of the codes below)
        //echo renderChart("FusionCharts/MSColumn3D.swf", "", $strXML3, "average", 1100, 350);
var chart2 = new FusionCharts("FusionCharts/MSColumn3D.swf", "chart1Id", "600", "400", "0", "1");                                       
        chart2.setXMLUrl("average.xml");
        chart2.render("average");
        var chart1 = new FusionCharts("FusionCharts/MSColumn3D.swf", "chart2Id", "600", "400", "0", "1");                                       
        chart1.setXMLUrl("overall.xml");
        chart1.render("overall");

  </script>

<!-- Google Analytics Tracker Code Starts -->
<script type="text/javascript">
// analytics
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost 
        + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
if (typeof(_gat) == "object") {
        var pageTracker = _gat._getTracker("UA-215295-3"); pageTracker._initData(); pageTracker._trackPageview();
}
</script>

我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可能需要将调用链接到您拥有的每个图表的exportChart函数。

    var totalCharts = 2;

     (function () {

         var totalExported = 0,
             exportType;

            window.FC_Exported = function() {
                exportchart();
            };

            window.exportchart = function(exportFormat) {

                exportType = exportType || exportFormat || 'jpg';
                totalExported++ ;

                var chart = FusionCharts("chart" + totalExported + "Id");
                if (totalExported > totalCharts) {
                    return;
                }

                if (chart.hasRendered() != true) {
                    alert("Please wait for the chart to finish rendering, before you can invoke exporting");
                }   


                // call exporting function
                chart.exportChart( {exportFormat: exportType} );

            };

     }());