在html表中绘制画布在JavaScript中不起作用

在html表中绘制画布在JavaScript中不起作用,javascript,html,canvas,Javascript,Html,Canvas,首先,我得到了一个简单的解决方案,用于绘制画布元素。 HTML中的代码如下所示: ... <td align="center" class="TableUnten" id="Gesamtleistung0"> <canvas id="myCanvas"></canvas> <script type="text/javascript"> d

首先,我得到了一个简单的解决方案,用于绘制画布元素。 HTML中的代码如下所示:

...
<td align="center" class="TableUnten" id="Gesamtleistung0">
            <canvas id="myCanvas"></canvas>                
            <script type="text/javascript">
                drawCanvas("myCanvas");
            </script>
</td>
...
这是可行的,画布将显示在表中

但是现在我想在一个单独的.js文件中进行函数调用。所以我认为这可以奏效:

function tester() {
    document.getElementById("Gesamtleistung0").innerHTML = drawCanvas("myCanvas");
}
问题是变量cv不包含画布元素mycanvas的名称,但显示为null。而变量canvasname是用myCanvas声明的

你知道我能做些什么来调用画布绘图函数,然后把它放到一个表中吗


谢谢

请确保您在页面头部引用了其他javascript绘图文件

<head>

    <script type="text/javascript" src="yourDrawingFile.js"></script>

</head>
由于您已经在Gesamtleistung0中创建了画布,因此应该能够在该外部脚本中直接调用drawCanvas,而无需设置任何innerHTML

<script>
window.onload=function(){

    ....

    function tester(){

        drawCanvas("myCanvas");

    }

....

看看这个例子,我刚写完,也许会对你有所帮助。看那顶柱子的底部。

您可能正在使用document.write,请使用当前的drawCanvas脚本。不,我没有使用document.write。我不明白为什么canvasname包含myCanvas而cv不包含?我总是收到一条错误消息,说cv声明为null。可能问题是调用drawCanvas时未加载文档,因此您还无法按id找到画布。请在document.onload处理程序中完成该工作。我不理解将drawCanvas的结果分配给div内容的意义。
<script>
window.onload=function(){

    ....

    function tester(){

        drawCanvas("myCanvas");

    }

....