【发布时间】:2015-04-08 12:26:58
【问题描述】:
这是我的html和js:
function calculateFun()
{
var a = document.getElementById('a').value;
var b = document.getElementById('b').value;
var c = document.getElementById('c').value;
var d = document.getElementById('d').value;
var e = document.getElementById('e').value;
var f = a*b;
document.getElementById('f').value = f;
var g = (f + (f*(d/100))).toFixed();
document.getElementById('g').value = g;
var h = ((1 -((a*c)/e))*100).toFixed();
document.getElementById('h').value = h;
}
<input type="number" id="a" onkeyup="calculateFun();" />
<input type="number" id="b" onkeyup="calculateFun();" />
<input type="number" id="c" value="100" />
<input type="number" id="d" value="50" />
<input type="number" id="e" onkeyup="calculateFun();" />
<br><br><p>******</p><br><br>
<input type="number" id="f" />
<input type="number" id="g" />
<input type="number" id="h" />
我在 JSFIDDLE 中尝试了这段代码: https://jsfiddle.net/1ex3b1sa/
但它不起作用。在我的站点中,也没有调用该函数。 这很奇怪,因为我可以用几乎相同的方式调用其他函数。
我尝试更改为 onclick、onkeypress 或 onkeydown,但看不到任何结果..
有什么想法吗?也许我有错字?或者可能是 chrome 问题?
【问题讨论】:
-
因为你的小提琴设置错误!代码在 onload 事件中。 jsfiddle.net/zvrywbLr
-
再努力一点@mattytommo
-
在 JSFiddle 中,您需要将 JavaScript 换行设置为 "No wrap - in
<head>" 否则您会得到一个 " Uncaught ReferenceError: calculateFun is not defined" 错误。 -
哦,好的,tnks 成功了。在原始代码中,我是否需要将其放在 head 标签之间?因为,我在 body 标签之间有一个函数,它工作正常..
-
对于 perf,除非脚本实际上需要先运行,否则通常最好将 script 标签放在结束 body 标签之前,否则会阻塞。
标签: javascript html onkeyup