【发布时间】:2014-04-24 16:07:23
【问题描述】:
我有一个使用 javascript 的计算器。我有一些复选框,当单击时,javascript 会计算一些值并给我一个最终结果。这些是多页形式(chronoforms)。我可以单击下一页,这些值将传递到另一页。但是,如果我想更改某些内容,当我单击上一页时,我可以看到我的复选框已选中,但我的 javascript 计算器计算的最终结果设置为默认状态(它不是在页面加载时计算)。我唯一的选择是复制 calculatetotal 函数并在该副本中添加一个“window.onload =”。它有效,但我真的不想那样离开它。我可以做些什么来避免 javascript 代码中的冗余吗?谢谢!
我的复选框有一个 onclick 事件,它会触发 calculateTotal 函数,如下所示:
onclick="calculateTotal()"
这是函数:
function calculateTotal(){
}
当我单击“下一页”然后单击“上一页”时,我的复选框仍处于选中状态,但函数 calculateTotal 没有触发。所以我必须复制粘贴初始函数并添加:
window.onload = function calculateTotal(){
}
问题是,这个函数很长,我想避免冗余。
【问题讨论】:
-
这里根本没有显示任何代码。不看代码很难给出建议。
-
嗨!情况很复杂。在这里不回答怎么回复??
-
我不明白你的问题。您通过将当前代码的相关部分添加到您的问题来做出回应。
-
请检查我的问题。它在上面进行了修订(编辑)。
-
那么对于我们这些不熟悉 Chronoforms 的人来说,有什么理由不能简单地在窗口加载事件上调用
calculateTotal()而不是重新定义它?
标签: javascript onclick onload redundancy