2012-03-18 5 views
0

월별 비용을 계산하는 데 사용되는 양식을 만들었습니다. 내가 가지고있는 문제는 마지막 페이지에있다. 나는 마지막 페이지의 필드를 자동 채우는 이전 페이지 (데이터 세션)에서 정보를 수집하고있다. 내가 총액에 대한 페이지의 다섯 필드를 빼기 가정하는 자바 스크립트를 만들었지 만 이것이 작동하지 않습니다. 로드 섹션에서 데이터 세션을 삭제하면 자바 스크립트가 완벽하게 작동합니다. 질문에자바 스크립트 페이지로드 합계

페이지 : http://www.garranteedsolutions.com/budget?chronoform=BudgetPage7

자바 스크립트 :

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) ; 
} 

이 내가 사용했던 코드입니다하지만 작업을 수행하는 형태로 상자의 변화를 필요로한다. http://www.chronoengine.com/forums/viewtopic.php?f=2&t=67427&p=269741#p269741

내가 잘 자바 스크립트를 모르는 내가 너무 가까이있어이 날의 연속이 여기에서 시작 도움을 찾으세요

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); 
} 

:이

자바 스크립트를 시도했습니다 이 양식이 완성되었습니다. 나는 총계를 집계 할 수 없다.

답변

0

이것은 작동하는 것 같았습니다! 이제 저는 수천 명의 쉼표를 얻는 방법을 알아 내려고 노력하고 있습니다. 따라서 1200을 입력하면 1,200이 표시됩니다.

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

도움을 주셔서 감사합니다.

0

문제는 양식 값을 변경할 때만 이벤트가 발생한다는 것입니다. 양식을 읽기 전용으로 바꿀 수 없습니다.

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 함수에서 매개 변수가 없어 오류가 발생했습니다.

나는 이것이 당신을 도울 수 있기를 바랍니다. :)

+0

이것은 작동하지 않습니다. 콘솔 말한다 다음 ReferenceError가 처리되지 않는'76 (익명 함수) Mootools의-core.js : 370 hmootools-core.js 33 Array.implement.eachmootools 코어 refenen1 rokboxPathbudget가 정의되지 않는다. js : 39 invoke.fireEventmootools-core.js : 369 g' 읽기 전용을 해제해야합니까? 최종 사용자가 총계를 변경할 수 없도록하기를 원했던 것입니다. –

+0

rekenen1이라는 함수가 refenen1이 아닙니다. 네가 철자가 틀린 것 같아. – ajimix

관련 문제