Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript只运行一次函数_Javascript - Fatal编程技术网

Javascript只运行一次函数

Javascript只运行一次函数,javascript,Javascript,HTML <p>What factorial would you want to calculate?</p> <input id="factorium" type="number"> <input id="submission" type="submit" value="Calculate"> 编辑- “提交”按钮只工作一次,我需要刷新页面才能再次工作,您知道如何解决此问题吗?您的JavaScript代码可以缩减为一行: document.ge

HTML

<p>What factorial would you want to calculate?</p>
<input id="factorium" type="number">
<input id="submission" type="submit" value="Calculate">
编辑-


“提交”按钮只工作一次,我需要刷新页面才能再次工作,您知道如何解决此问题吗?

您的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()">

您想计算什么样的阶乘

函数阶乘(x){ 如果(x==0){ 返回1; } 返回x*阶乘(x-1); } 函数calcFactorial(){ var inputBox=document.getElementById('factorium').value; var submission=document.getElementById('submission'); log(阶乘(inputBox)); }
老鼠,你刚刚打败了我;)@melopomene-我已经重新编辑了问题,提交按钮只工作一次,它需要刷新页面才能再次工作,我如何解决这个问题?
<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>