我有一个奇怪的问题,我希望你能帮助我。
我有Highcharts在开发网站上运行——我使用一个简单的表单来允许用户输入数据。
在同一页面上,输入数据后会显示 Highchart。
数据输入表单有非常简单的基于 jQuery 的片段,例如。表单验证,最大字符数计数器等。
发生的情况是,当数据库中有图表数据时,图表会正确绘制,并且当您尝试输入新数据点时,剩余的 JS 代码片段会按预期工作。
但是如果数据库中没有数据(因此不会显示 Highchart),我所有的 JS 代码片段都会停止工作。
在 Firebug 控制台上,当没有数据形成图表时出现此错误:
jb is null
function n(m,h){kc=ya(a.title,m);tc=ya...play:""});Aa.body.appendChild(Qb)}Tc=
highcharts.js (line 47)
在 Chrome 上,一个不同的错误显示为
Uncaught TypeError: Cannot set property 'innerHTML' of null
d.d.extend._Deferred.f.resolveWith jquery.min.js:16
d.d.extend.ready jquery.min.js:16
d.c.addEventListener.A
同样,一旦我输入第一个数据点并形成图表,这些错误就会消失。
有谁知道发生了什么以及当 Highchart 为空时如何让我的 JS 工作?
非常感谢任何指点。谢谢!
最佳答案
对我来说,问题是在包含 HighCharts 之前我没有包含 jQuery。
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/highcharts-more.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
抛出错误:
Uncaught TypeError: Cannot read property 'addEvent' of undefined(anonymous function) @ highcharts.js:313(anonymous function) @ highcharts.js:315(anonymous function) @ highcharts.js:331
Uncaught TypeError: n.getOptions is not a function(anonymous function) @ highcharts-more.js:8(anonymous function) @ highcharts-more.js:55
Uncaught TypeError: Cannot read property 'fireEvent' of undefined(anonymous function) @ exporting.js:9(anonymous function) @ exporting.js:24
但如果我首先包含 jQuery,它不会。
关于使用 Highcharts 时出现 JavaScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480591/