0

サーバー側にグラフを保存しようとしています。1つのグラフを保存するまで成功しました。しかし、複数のグラフを保存できません。ここで 2 つのグラフについて言及しましたが、サーバーに保存されるグラフは 1 つだけです。どのようにすることができますか?

私のコードは

 <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>

どうすればこれを解決できますか?

4

1 に答える 1

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} );

            };

     }());  
于 2013-01-24T14:14:00.240 に答える