原因是当您单击原始代码中的按钮时,它会以 0 值执行,因为您没有要求它们在每次按钮单击后启动。所以你想要做的只是第一个和第二个文本文件都会在初始页面加载时获得它们的值,这意味着这些值是空的。因此,当您单击按钮时,它会获得当前值(0)和多个。所以它总是0。
在下面的示例中,@Jacob 所做的是他首先通过获取目标按钮 var b = document.getElementById('btn');
,然后将变量包装在 click function 中。因此,每次单击按钮和函数时都会被调用,并且每个变量都会获取当前值。
最后他所做的是,当您单击按钮时,他会询问每个按钮的当前值。所以它也从元素中获取当前值。
只需将 onclick 向上移动,以便在用户单击时获取新值。
<input type="text" id="first">
<input type="text" id="second">
<input type="text" id="ans">
<button id="btn">Count</button>
<script>
var b = document.getElementById('btn');
b.onclick = function() {
var f = document.getElementById('first').value;
var s = document.getElementById('second').value;
var ans = document.getElementById('ans');
ans.value = f * s;
}
</script>
或者只获取元素一次。
<input type="text" id="first">
<input type="text" id="second">
<input type="text" id="ans">
<button id="btn">Count</button>
<script>
var b = document.getElementById('btn');
var f = document.getElementById('first');
var s = document.getElementById('second');
var ans = document.getElementById('ans');
b.onclick = function() {
ans.value = f.value * s.value;
}
</script>