我在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文件。
答案 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>