我有一系列两个方法,其中第二个方法必须使用第一个的返回值。因此,在我的代码中,如下所示,totalRoute
需要从totalInvoiced
(返回value3
)返回的值来计算其值,然后将其显示在我正在构建的寄存器中。totalRoute
将等于totalInvoiced
减去的总和notCollected
,notCollectedLate
,expenditure1
和expenditure2
。
我problme是,当我插入的价值观notCollected
,notCollectedLate
,expenditure1
和expenditure2
值totalRoute
是NaN
。我想那是因为我没有使用totalInvoiced
正确的返回值,或者该值未正确传递。为什么我的函数不能从中获取或使用值totalInvoiced
?
我的JS代码在这里:
var A = {
today: document.getElementById("today"),
displayDate: function () {
var cD = new Date();
var day = cD.getDate();
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
var year = cD.getFullYear();
var today1 = A.today;
today1.innerHTML = (day + "/" + months[cD.getMonth()] + "/" + year);
},
invoiced: document.getElementById("invoiced"),
lastInvoiced: document.getElementById("lastinvoiced"),
totalInvoiced: function () {
var value1 = parseFloat(A.invoiced.value);
var value2 = parseFloat(A.lastInvoiced.value);
if (isNaN(value1))
value1 = 0;
if (isNaN(value2))
value2 = 0;
var totalInvoiced1 = value1 + value2;
var value3 = document.getElementById("daytotal").value = totalInvoiced1 + "€";
console.log(value3);
return value3;
},
notCollected: document.getElementById("notcollected"),
notCollectedLate: document.getElementById("notcollectedlate"),
expenditure1: document.getElementById("expenditure1"),
expenditure2: document.getElementById("expenditure2"),
totalRoute: function () {
var value4 = parseFloat(A.notCollected.value);
var value5 = parseFloat(A.notCollectedLate.value);
var value6 = parseFloat(A.expenditure1.value);
var value7 = parseFloat(A.expenditure2.value);
if (isNaN(value4))
value4 = 0;
if (isNaN(value5))
value5 = 0;
if (isNaN(value6))
value6 = 0;
if (isNaN(value7))
value7 = 0;
var totalExp = (value4 + value5 + value6 + value7);
var value3 = A.totalInvoiced();
var tRoute = value3 - totalExp;
var value8 = document.getElementById("total").value = tRoute + "€";
console.log(value8);
return value8;
}
};
window.onload = A.totalInvoiced();
window.onload = A.displayDate();
A.invoiced.addEventListener("change", A.totalInvoiced, false);
A.lastInvoiced.addEventListener("change", A.totalInvoiced, false);
A.notCollected.addEventListener("change", A.totalRoute, false);
A.notCollectedLate.addEventListener("change", A.totalRoute, false);
A.expenditure1.addEventListener("change", A.totalRoute, false);
A.expenditure2.addEventListener("change", A.totalRoute, false);
value3
总发票中返回的包含欧元字符。只是totalInvoiced的回归改变totalInvoiced1
,而不是value3
和将得到的功能,我认为你正在寻找。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句