The following code works fine as a independant page as itself. But if incorporated into my PHP web app, it throws error. How to debug if the error happens in the google chart JS?
Any suggestions will be helpful
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>
Google Visualization API Sample
</title>
</head>
<body style="font-family: Arial;border: 0 none;">
<div id="myGraphLabel" onclick="drawColumnChart();">
My Column Chart
</div>
<div id="myColumnChart" style="width: 600px; height: 400px;"></div>
</body>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages: ['corechart']});
function drawColumnChart() {
// Create and populate the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Task');
data.addColumn('number', 'Hours per Day');
data.addRows(2);
data.setValue(0, 0, 'Work');
data.setValue(0, 1, 11);
data.setValue(1, 0, 'Eat');
data.setValue(1, 1, 2);
// Create and draw the visualization.
new google.visualization.PieChart(document.getElementById('myColumnChart')).
draw(data, {title:"So, how was your day?"});
}
</script>
</html>
Error in Chrome: It displays “Cannot read property ‘length’ of undefined”, With a red background in the container
Error in Firefox: Throws error in Firebug console as:
b[c] is undefined
http://www.google.com/uds/api/visualization/1.0/97e6275dc5c50efe5944ddda289e59d2/format+en,default,corechart.I.js
Line 785
This answer will apply if you are using the Prototype JS framework. (I don’t see it here, but it might have been excluded).
There is a ticket open for this issue on the Google Visualization API here.
One potential issue is that there might be a conflicting version of prototype or some other library being included.
Alternately, the reduce function may need to be redefined:
[Note: I had this issue in the past, and this led to the solution. I am experiencing this issue a second time, but the original solution is not working for this new issue. Your mileage may vary.]