javascript - 使用Google Visualization时出现Javascript错误:无法调用null的 'getElementsByTagName'方法

标签 javascript grails google-visualization

我的项目结构包含一个简单的index.gsp,其中应呈现一个模板。模板本身具有多个div,在渲染此模板时应在其中绘制图表。
当我在index.gsp的任何div中使用以下脚本时,索引 View 和图表将正确呈现。但是,当我在模板中使用相同的脚本时,出现了空白页,并且出现了以下JavaScript错误。

模板渲染由formremote触发:

<g:formRemote name="myForm" on404="alert('not   
found!')" update="content" url="[controller: 'charts', action:'generateChart']">

错误:
Uncaught TypeError: Cannot call method 'getElementsByTagName' of null 

脚本:
<div id="myID">
<script>
google.load('visualization', '1', {'packages': ['geochart']});  
google.setOnLoadCallback(drawIt);               

function drawIt(){
    console.log("B");
    var data = google.visualization.arrayToDataTable([
        ['City',   'Population'],
        ['Berlin',      2761477],
        ['Freising',     1324110],
        ['Muenster',    959574],
        ['Muenchen',     907563],
        ['Neufahrn',   655875],
        ['Hof',     607906],
        ['Freiburg',   380181],
        ['Stuttgart',  371282],
        ['Kiel', 67370],
        ['Magdeburg', 52192],
        ['Erfurt',  38262]
    ]);

    var options = {
        height: 500,
        width: 700,
        region: 'DE',
        displayMode: 'markers',
        colorAxis: {colors: ['green', 'blue']}
    };

    console.log("D");

    var chart = new google.visualization.GeoChart('myID');
    chart.draw(data, options);
}
</script>
</div>

最佳答案

您必须将元素传递到图表API:

var chart = new google.visualization.GeoChart(document.getElementById('myID'));

关于javascript - 使用Google Visualization时出现Javascript错误:无法调用null的 'getElementsByTagName'方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17023319/

相关文章:

javascript - 如何使用适用于 android 和 iphone 的 javascript 检测长触摸压力?

apache - 如何使用代理和虚拟主机将 session 从 apache2 传递到 tomcat7

javascript - 如何旋转谷歌图表中的标签?

javascript - 可视化包含 XY 坐标位置的 JSON 数据

javascript - 我如何从 js 为 html 输出一个变量

javascript - 如何通过mvc4中的提交按钮传递自定义参数

javascript - 揭开流体宽度的标题图像

java - IntelliJ IDEA 无法运行 Grails 2.3.0 项目

grails - 绕过 Grails View 层将二进制内容直接写入客户端

css - 带有 overflow-x : scroll results in large scroll area 的 div 中的 Google 图表