ChartJS TypeError:document.getElementById(...)。getContext不是一个函数

法比安·史密克(Fabian Schmick)

我正在使用Symfony 2和Twig模板。在Twig中,我想使用Chart.js绘制两个图表。

因此,我包括以下内容js

{% block javascripts %}
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
{% endblock %}

为了区分这些图表,我在循环中传递了一个不断变化的Variable来抛出一个函数:

{{ groupedDimension[0][0].dimension }}等于gaoperatingSystem(在第一循环中)和gascreenResolution(在第二循环中)

{% for groupedDimension in groupedResults %}
    <script>
        var jQueryId = jQuery('#{{ groupedDimension[0][0].dimension }}').attr('id');
        drawChart(jQueryId);
    </script>
{% endfor %}

创建图表的函数:

<script>
function drawChart(id) {
    var lineChartData = {
        labels : ["January","February","March","April","May","June","July"],
        datasets : [
            {
                label: "My First dataset",
                fillColor: "rgba(220,220,220,0.2)",
                strokeColor: "rgba(220,220,220,1)",
                pointColor: "rgba(220,220,220,1)",
                pointStrokeColor: "#fff",
                pointHighlightFill: "#fff",
                pointHighlightStroke: "rgba(220,220,220,1)",
                data: [65, 59, 80, 81, 56, 55, 40]
            }
        ]
    }

    console.log(id);  //proves gaoperatingSystem and gascreenResolution
    window.onload = function(){
        var ctx = document.getElementById(id).getContext("2d");
        window.myLine = new Chart(ctx).Line(lineChartData, {
            responsive: true
        });
    }
}
</script>

错误显示在该行 var ctx = document.getElementById(id).getContext("2d");

在中,html我有divs两个图表:

{% for groupedDimension in groupedResults %}
    <div style="width:80%">
        <div>
            <canvas id="{{ groupedDimension[0][0].dimension }}" height="450" width="600"></canvas>
        </div>
     </div>
{% endfor %}

浏览器控制台显示以下错误消息:

TypeError:document.getElementById(...)。getContext不是一个函数

是什么导致错误,我该如何解决?

阿尔瓦罗·冈萨雷斯(Alvaro Gonzalez)

这部分:

window.onload = ...

...替换onload附加到的所有以前的事件处理程序window由于您已经在使用jQuery,因此无需手动进行此操作,只需:

jQuery(function($){
   // Do stuff
});

... 照常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

document.getElementById()。getContext('2d')不是函数

来自分类Dev

给TypeError:'undefined'的document.getElementByID(“ test”)。innerHTML不是函数(评估'document.getElementByID(“ test”)')

来自分类Dev

给TypeError:'undefined'的document.getElementByID(“ test”)。innerHTML不是函数(评估'document.getElementByID(“ test”)')

来自分类Dev

未捕获的TypeError:document.getElementById不是函数

来自分类Dev

TypeError:myCanvas.getContext不是一个函数

来自分类Dev

TypeError:myCanvas.getContext不是一个函数

来自分类Dev

我从 javascript 代码中得到一个错误: var context = document.getElementById("gameCanvas").getContext("2d");

来自分类Dev

TypeError:document.observe不是一个函数

来自分类Dev

JavaScript TypeError:document.getElementById(...)为null

来自分类Dev

JavaScript:TypeError:document.getElementById(...)为null

来自分类Dev

JavaScript TypeError:document.getElementById(...)为null

来自分类Dev

document.getElementById()。value不是最新的

来自分类Dev

在类构造函数中 this.button = document.getElementById('button') / Uncaught TypeError: Cannot read property 'addEventListener' of undefined?

来自分类Dev

TypeError:jQuery(...)。on不是一个函数

来自分类Dev

TypeError:this。$ set不是一个函数

来自分类Dev

TypeError:require(...)不是一个函数

来自分类Dev

TypeError:$(...)。datepicker不是一个函数

来自分类Dev

TypeError:* .getMonth不是一个函数

来自分类Dev

TypeError:func(...)。then不是一个函数

来自分类Dev

TypeError:$(...)。dialog不是一个函数

来自分类Dev

TypeError:$(...)。datepicker不是一个函数

来自分类Dev

TypeError:$(...)。visualize不是一个函数

来自分类Dev

TypeError:require(...)不是一个函数

来自分类Dev

TypeError:$ .mainBowerFiles不是一个函数

来自分类Dev

获取错误未捕获的TypeError:document.querySelectorAll(...)。addEventListener不是一个函数

来自分类Dev

为什么document.getElementById返回一个具有名为“值”的属性的对象?

来自分类Dev

为什么document.getElementById仅返回多个项目数组中的一个项目?

来自分类Dev

TypeError:document.getElementById(...)[0]未定义

来自分类Dev

我找不到错误?TypeError:document.getElementById(...)为null

Related 相关文章

  1. 1

    document.getElementById()。getContext('2d')不是函数

  2. 2

    给TypeError:'undefined'的document.getElementByID(“ test”)。innerHTML不是函数(评估'document.getElementByID(“ test”)')

  3. 3

    给TypeError:'undefined'的document.getElementByID(“ test”)。innerHTML不是函数(评估'document.getElementByID(“ test”)')

  4. 4

    未捕获的TypeError:document.getElementById不是函数

  5. 5

    TypeError:myCanvas.getContext不是一个函数

  6. 6

    TypeError:myCanvas.getContext不是一个函数

  7. 7

    我从 javascript 代码中得到一个错误: var context = document.getElementById("gameCanvas").getContext("2d");

  8. 8

    TypeError:document.observe不是一个函数

  9. 9

    JavaScript TypeError:document.getElementById(...)为null

  10. 10

    JavaScript:TypeError:document.getElementById(...)为null

  11. 11

    JavaScript TypeError:document.getElementById(...)为null

  12. 12

    document.getElementById()。value不是最新的

  13. 13

    在类构造函数中 this.button = document.getElementById('button') / Uncaught TypeError: Cannot read property 'addEventListener' of undefined?

  14. 14

    TypeError:jQuery(...)。on不是一个函数

  15. 15

    TypeError:this。$ set不是一个函数

  16. 16

    TypeError:require(...)不是一个函数

  17. 17

    TypeError:$(...)。datepicker不是一个函数

  18. 18

    TypeError:* .getMonth不是一个函数

  19. 19

    TypeError:func(...)。then不是一个函数

  20. 20

    TypeError:$(...)。dialog不是一个函数

  21. 21

    TypeError:$(...)。datepicker不是一个函数

  22. 22

    TypeError:$(...)。visualize不是一个函数

  23. 23

    TypeError:require(...)不是一个函数

  24. 24

    TypeError:$ .mainBowerFiles不是一个函数

  25. 25

    获取错误未捕获的TypeError:document.querySelectorAll(...)。addEventListener不是一个函数

  26. 26

    为什么document.getElementById返回一个具有名为“值”的属性的对象?

  27. 27

    为什么document.getElementById仅返回多个项目数组中的一个项目?

  28. 28

    TypeError:document.getElementById(...)[0]未定义

  29. 29

    我找不到错误?TypeError:document.getElementById(...)为null

热门标签

归档