Довольно легко на самом деле.Сделайте это:
<table cellspacing=0 cellpadding=4>
<tbody id="whateverId">
<tr><td>Number 1:</td><td><input value=20 style="width:30px" type=text maxlength=2/></td></tr>
<tr><td>Number 2:</td><td><input value=25 style="width:30px" type=text maxlength=2/></td></tr>
<tr><td style="border-top:solid 1px black;border-bottom:solid 1px black;">Sum:</td><td style="border-top:solid 1px black;border-bottom:solid 1px black;"><div>45</div></td></tr>
</tbody>
</table>
JS для создания:
var trEl = document.createElement('tr');
trEl.setAttribute('attribute', 'value'); // replace that with what you need
var tdEl = document.createElement('td');
// Here set td attributes
trEl.appendChild(tdEl);
// And same for the input im to lasy to write.
document.getElementById('whateverId').appendChild(trEl);
И ... вот и все.Сгруппируйте его по функции или как хотите.
На сумму вы просто делаете что-то вроде:
var s = 0;
for (var i = 0; i < document.getElementById('whateverId').childNodes.length; i++)
{
s += document.getElementById(whateverId).childNodes[i].firstChild.firstChild.value; // Hope I counted the first childs right.... you get the point.
}