Javascript 用Java&;HTML。什么';我的代码怎么了?

Javascript 用Java&;HTML。什么';我的代码怎么了?,javascript,html,html-helper,Javascript,Html,Html Helper,我需要创建一个带有按钮的简单表单,该按钮将数字计算为阶乘。必须通过按钮进行计算,并且需要在警报框中弹出答案 令人尴尬的是,我花了几个小时试图解决这个问题,但我无法让按钮工作,解决办法是按enter键,但随后答案不会显示出来 var n=document.getElementById('x1')。值; 功能fac(N){ 如果(N>1)返回N*fac(N-1); 否则返回N; } 警报(“答案是”+fac(N)); 阶乘的 生成你的阶乘! 输入号码: 我认为传递的值和函数中使用的值之间存

我需要创建一个带有按钮的简单表单,该按钮将数字计算为阶乘。必须通过按钮进行计算,并且需要在警报框中弹出答案

令人尴尬的是,我花了几个小时试图解决这个问题,但我无法让按钮工作,解决办法是按enter键,但随后答案不会显示出来


var n=document.getElementById('x1')。值;
功能fac(N){
如果(N>1)返回N*fac(N-1);
否则返回N;
}
警报(“答案是”+fac(N));

阶乘的
生成你的阶乘!
输入号码:


我认为传递的值和函数中使用的值之间存在混淆,请尝试类似的方法

    <!DOCTYPE html>
    <html lang="en-US">

    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>factorial</title>
    </head>

    <body>
    <h2>Generate Your Factorial!</h2>
    <form>
    <label>Enter Number: </label><br>
    <input type="text" id="x1"><br>
    <input type="button"  value= "Generate" onclick="getFac()">
    </form>
    <script>
    
    
    function fac(N) {
      if (N > 1) {
          return N * fac(N - 1)
          }
      else{
           return N
      }
    }
    
    function getFac(){
        var n = document.getElementById('x1').value;
        alert("Answer is "+ fac(n));
    }
    
    </script>
  </body>

  </html>

阶乘的
生成你的阶乘!
输入号码:

功能fac(N){ 如果(N>1){ 返回N*fac(N-1) } 否则{ 返回N } } 函数getFac(){ var n=document.getElementById('x1')。值; 警报(“答案是”+fac(n)); }
onclick=“fac(N)”
。。。N是未定义的dalso,
var N=document.getElementById('x1')。值在页面加载时,当该元素为空时,此操作只运行一次-因此您不能使用
n
它您确定为此问题选择的标记吗?我不认为这与……或者……JavaScript与Java无关,你可能想更新你的标题。单击即可调用函数,但
警报()
位于函数外部,单击按钮时不会被调用。