Проблема в том, что события запускаются только при изменении значений формы.Форма только для чтения, поэтому их нельзя изменить.
В любом случае, вот оптимизированный код:
window.addEvent('domready', function() {
var rekenen1 = function(){
var grandTotal = 0;
$$('#spendable, #housetotal, #cartotal, #creditortotal, #misctotal').each(function(el){
if(el.value.length > 0) grandTotal += el.value.toFloat();
});
$('grandtotal').value = grandTotal;
};
$$('#spendable, #housetotal, #cartotal, #creditortotal, #misctotal').addEvent('onchange', refenen1);
});
Это должно работать.Функция проверяет, имеют ли поля значения, и если они есть, они включаются в вычисление.
Второй код, который вы сделали, выдает ошибку, поскольку в функции addEvent отсутствует параметр.
Я надеюсь, что это может помочь вам:)