不幸的是,解释你需要做的最简单的办法就是真正做到这一点...
首先,因为你没有实际提交表单数据到服务器,刚刚摆脱了<form>
元素。您还需要命名/标识您的输入元素,以便稍后在JavaScript中访问它们。由于我们没有提交表单,请将提交按钮更改为简单的<button>
元素以启动计算。这给我们留下以下HTML:
Level: <input id="calc-level" type="text">
<br>
Seconds: <input id="calc-seconds" type="text">
<br>
<button id="do-calculate" type="button">Calculate</button>
<br>
Answer: <input id="calc-answer" type="text">
现在我们需要编写一些JavaScript。首先,让我们来定义,可以解决你的公式函数:
function solve(level, seconds) {
return (10 * (3 + (level * 0.5)) * seconds)/60;
}
注意,我不会把这个solve
。我不知道你的输出代表什么,但是你应该给它起一个名字,比如solveForAwesomenessIndex
,或者说明白你的解决方案。
下一步是创建一个将对按钮单击作出反应的函数。它将解析输入,进行计算并输出结果:
function handleCalculate() {
var level = parseFloat(document.getElementById('calc-level').value);
var seconds = parseFloat(document.getElementById('calc-seconds').value);
var answer = solve(level, seconds);
document.getElementById('calc-answer').value = answer.toString();
}
最后,我们必须将点击事件连接到该按钮。因为我不唐突的JavaScript的支持者,我们不会添加任何内嵌的事件处理程序(不良莠不齐HTML/JavaScript的),所以我们做的事件处理程序:
window.onload = function() { // when the window has loaded
// Assign the handleCalculate method to the button's click event
document.getElementById('do-calculate').addEventListener('click', handleCalculate);
};
看到它在行动:DEMO
的可能重复[HTML和Javascript公式输入表单(http://stackoverflow.com/questions/27855288/html-javascript-equation-input-form) – Mouser 2015-01-09 21:28:45
“
'@SharonLevy – MatchBonus 2015-01-09 21:37:33