Javascript Страница Загрузка Всего - PullRequest
0 голосов
/ 18 марта 2012

Я создал форму, которая используется для расчета ежемесячных расходов. У меня проблема в том, что на последней странице я собираю информацию с предыдущих страниц (сеанс к данным), которая автоматически заполняет поля на последней странице. Я создал javascript, который должен вычесть пять полей на странице для общего итога, но это не работает. Если я удаляю сеанс с данными из раздела загрузки, JavaScript работает отлично.

Страница в вопросе: http://www.garranteedsolutions.com/budget?chronoform=BudgetPage7

Javascript:

 window.addEvent('domready', function() {
 $('spendable').addEvent('change', rekenen1);
 $('housetotal').addEvent('change', rekenen1);
 $('cartotal').addEvent('change', rekenen1);
 $('creditortotal').addEvent('change', rekenen1);
 $('misctotal').addEvent('change', rekenen1);
});
function rekenen1(){
$('grandtotal').value = Number($('spendable').value) + Number($('housetotal').value) +   Number($('cartotal').value) + Number($('creditortotal').value) + Number($('misctotal').value) ;
}

Это код, который я использовал, но он требует изменения в поле формы для выполнения действия. Я пробовал это

Javascript:

window.addEvent('domready', function() {
rekenen1;
 $('spendable').addEvent(rekenen1);
 $('housetotal').addEvent(rekenen1);
 $('cartotal').addEvent(rekenen1);
 $('creditortotal').addEvent(rekenen1);
 $('misctotal').addEvent(rekenen1);
 });
 function rekenen1(){
 $('grandtotal').value = 
Number($('spendable').value) + Number($('housetotal').value) 
+ Number($('cartotal').value) + Number($('creditortotal').value) 
+ Number($('misctotal').value);
}

Это продолжение моего поиска помощи, начиная с: http://www.chronoengine.com/forums/viewtopic.php?f=2&t=67427&p=269741#p269741

Я не очень хорошо знаю Javascript, и я так близок к заполнению этой формы. Я просто не могу подсчитать общий итог.

Ответы [ 2 ]

0 голосов
/ 18 марта 2012

Это, похоже, работает!Так что теперь я пытаюсь понять, как получить запятые для тысяч.Так что, если я введу 1200, он отобразит 1200.

window.addEvent('domready', function() {
$('grandtotal').value = Number($('spendable').value) + Number($('housetotal').value) + Number($('cartotal').value) + Number($('creditortotal').value) + Number($('misctotal').value);
});

Большое спасибо за вашу помощь!

0 голосов
/ 18 марта 2012

Проблема в том, что события запускаются только при изменении значений формы.Форма только для чтения, поэтому их нельзя изменить.

В любом случае, вот оптимизированный код:

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 отсутствует параметр.

Я надеюсь, что это может помочь вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...