Hallo,
06 var i=0;
07 for(i; i <= trs.length; i++) {
^? Warum nicht nur kleiner als?
08
09 var tr = trs[i];
Nehmen wir an, es gibt drei TR-Elemente trs[0], trs[1] und trs[2], dann ist trs.length==3 und Deine Schleife zählt bis i==3, versucht also auf trs[3] zuzugreifen. Das ergibt undefined.
10 var buttons = tr.getElementsByTagName('button');
^undefined hat keine Eigenschaften.
13 buttons[0].onclick = sendInfo.addGoal(id, 0);
^hier wird sendInfo.addGoal(id, 0)aufgerufen und der Rückgabewert dieser Methode wird buttons[0].onclick zugewiesen. Willst Du buttons[0].onclick eine Methode des Objektes sendInfo als Funktion zuweisen, wäre das
buttons[0].onclick = sendInfo.addGoal;
Mit Attributen wäre es:
buttons[0].onclick = function() {sendInfo.addGoal(id, 0);};
Voraussetzung ist allerdings, dass sendInfo und id zum Zeitpunkt des Klicks auf den Button einen Wert haben.
viele Grüße
Axel