我有以下代码:
<input type="number" min="1" step="0.01" value="1.00" id="price" class="test" onload="divideByFour()" onkeyup="divideByFour()" name="price"><br>
Across four people, each person (including you) will be billed:
<i><b>£<span style="color:red" id="myspan"></span></b></i>
我的 javascript 函数是:
function divideByFour() {
var total = document.getElementById("price").value;
document.getElementById("myspan").textContent=((total/4).toFixed(2));
}
此函数适用于 onkeyup,但是对于加载页面时的默认值(“值 1.00”),不会调用 onload 函数。我试图让它在加载页面时,跨度中显示的值为 0.25(因为默认值为 1,并且该函数将输入值除以 4),但是没有显示任何内容。
我是否为此使用了错误的事件,或者我是否遗漏了一些东西来处理默认的 html 输入值?我已经尝试过 onload 和 onpageshow,但都不适合我。
谢谢!
最佳答案
将 onLoad 属性放在 BODY 标签中,它应该可以工作:
<body onload="divideByFour()">
关于具有 HTML 默认值的 Javascript Onload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42725804/