【问题标题】:Unite | window.onload = function calculateTotal() | with function calculateTotal()团结 | window.onload = 函数calculateTotal() |使用函数calculateTotal()
【发布时间】: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


【解决方案1】:

我的复选框仍然处于选中状态,但函数 calculateTotal 没有触发。

body 元素上调用calculateTotal

<body onload = "calculateTotal()">

确保包含该函数的脚本位于调用之前。

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2017-05-19
    • 1970-01-01
    • 2013-05-16
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多