不幸的是,解釋你需要做的最簡單的辦法就是真正做到這一點...
首先,因爲你沒有實際提交表單數據到服務器,剛剛擺脫了<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