JS变量没有更新

时间:2015-08-20 22:20:10

标签: javascript html


我在HTML中调用JS变量时遇到了问题。它根本没有得到更新 标题中包含以下代码:

 <script type="text/javascript">
var sum = 0;
function pushmybutton(id,value){
  sum += value;
  document.getElementById(id).disabled = true;
};
</script>

身体内有几个问题,它们有以下格式:

<h6>Question1</h6>

<p>Lorem Ipsum</p>

<div class="button1"><a href="#" id="B1A" onclick="pushmybutton('B1A',30);ga('send', 'event', 'Q1', 'Y');">Yes</a></div>

<div class="button1"><a href="#" id="B1B" onclick="pushmybutton('B1B',30);ga('send', 'event', 'Q1', 'N');">No</a></div>
</div>

最后我想调出变量sum,我使用下面的代码:

    <div class="result">
      Your result is:
      <script>
        document.write(sum);
      </script>
    </div>

不幸的是,变量sum没有被更新,最终等于0.但是,如果我最后使用一个带有alert(sum)的按钮,它就会被更新。

<button onclick=alert(sum);>Results</button>

如何修复它并将更新的变量写入我的HTML文件。

1 个答案:

答案 0 :(得分:0)

在单击任何按钮之前,最初解析并显示文档时,会发生document.write(sum)。因此,您在该点显示的所有内容都是sum变量的初始值,正如预期的那样0

更改后,您需要添加代码以显示sum变量的新值。

例如,你可以使用它:

<div class="result">
  Your result is:
  <span id="sumResult">0</span>
</div>

<script type="text/javascript">
var sum = 0;
function pushmybutton(id,value){
    sum += value;
    document.getElementById(id).disabled = true;
    document.getElementById("sumResult").innerHTML = sum;
};
</script>