2 回答

TA貢獻1865條經(jīng)驗 獲得超7個贊
您需要在事件處理程序中運行代碼,以便在用戶填寫輸入之前不要調(diào)用該函數(shù)。然后您使用該.value屬性來獲取輸入的值。
function sum(a, b) {
return a + b;
}
document.getElementById("but").addEventListener("click", function() {
var a = parseInt(document.getElementById("val1").value);
var b = parseInt(document.getElementById("val2").value);
var s = sum(a, b);
document.getElementById("output").innerText = s;
});
Value 1: <input id="val1"><br> Value 2: <input id="val2"><br>
<button id="but">Compute</button><br> Result: <span id="output"></span>

TA貢獻1803條經(jīng)驗 獲得超3個贊
像這樣的事情應該適合你。您可以根據(jù)您的具體情況進行必要的調(diào)整。
您可以使用document.getElementById()來標識每個輸入,然后使用該value屬性來獲取鍵入的值。還要注意使用parseInt()將文本輸入值轉(zhuǎn)換為(整個)數(shù)字(否則,您會發(fā)現(xiàn)它3+2會返回32(將字符串連接在一起)而不是5(添加數(shù)字))。最后,我通過設(shè)置其innerText屬性將輸出寫回頁面上的另一個特定元素,而不是使用老式的 document.write()。
我使用過的所有功能都可以在 MDN 等網(wǎng)站上更詳細地在線查找。
var goBtn = document.getElementById("go");
//when button is clicked, grab the two input values and pass them to the function
goBtn.addEventListener("click", function() {
var val1 = parseInt(document.getElementById("input1").value);
var val2 = parseInt(document.getElementById("input2").value);
var result = sum(val1, val2);
document.getElementById("result").innerText = result;
});
function sum(a, b) {
return a + b;
}
Input 1: <input type="number" id="input1" />
<br/>
Input 2: <input type="number" id="input2" />
<br/>
<button id="go" type="button">Go</button>
<br/><br/> Result:
<div id="result"></div>
添加回答
舉報