[英]Javascript runs function only once
的
的HTML
<p>What factorial would you want to calculate?</p>
<input id="factorium" type="number">
<input id="submission" type="submit" value="Calculate">
Java腳本
function factorial(x) {
if (x === 0) {
return 1;
}
return x * factorial(x - 1);
}
var inputBox = document.getElementById('factorium').value;
var submission = document.getElementById('submission');
submission.onclick = function(){console.log(factorial(inputBox))};
編輯-
提交按鈕只工作一次,我需要刷新頁面才能使其再次工作,您知道如何解決此問題嗎?
您的JavaScript代碼可以減少為一行:
document.getElementById('factorium').value();
這足以觸發錯誤。 問題是.value()
,應改為.value
。 如錯誤消息所述, .value
不是函數,因此無法調用。
我創建了一個新函數,該函數僅執行以下代碼:
function getVals(){
var inputBox = document.getElementById('factorium').value;
var submission = document.getElementById('submission');
console.log(factorial(inputBox));
}
在輸入提交按鈕上,我添加了:
<input id="submission" type="submit" value="Calculate" onclick="getVals()">
<p>What factorial would you want to calculate?</p>
<input id="factorium" type="number">
<input id="submission" type="submit" value="Calculate" onclick="calcFactorial()">
<script>
function factorial(x) {
if (x === 0) {
return 1;
}
return x * factorial(x - 1);
}
function calcFactorial(){
var inputBox = document.getElementById('factorium').value;
var submission = document.getElementById('submission');
console.log(factorial(inputBox));
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.