1

私は FizzBu​​zz ソリューションに取り組んでいます。関数 onload を呼び出して入力変数をプロンプトで設定すると (コードのコメントを参照)、正常に動作しましたが、フォームを追加して関数 onclick を呼び出し、getElementById を使用して変数を設定しようとすると、関数divに出力されません。元のバージョンでは、関数の完了後に出力が表示されます。更新されたバージョンでは、出力が短時間点滅してから消えます。すぐに画面をリフレッシュしているかのようです。助言がありますか?ありがとう

 <script>
    function fizzbuzz(){
    //  var num = prompt("Enter a number: ");
      var num = document.getElementById("number").value;
      var div3 = document.getElementById("div3");
      for(var i=0; i<num; i++){
        if (i%3===0 && i%5===0){
          div3.innerHTML = div3.innerHTML+"Fizz Buzz<br>";
        }else if (i%3===0){
          div3.innerHTML = div3.innerHTML+"Fizz<br>";
        }else if (i%5===0){
          div3.innerHTML = div3.innerHTML+"Buzz<br>";
        }else{
          div3.innerHTML = div3.innerHTML+(i+1)+"<br>";
        }
      }
    }
  </script>
</head>

<body>
    <!--body onload = "fizzbuzz()"-->
  <div id = "div1">
    <h1>Fizz Buzz</h1>
    <form>
      <p>Enter a number:</p><p><input type="text" name="number" id="number"/><input type="submit" value="Submit" onclick = "fizzbuzz()"/></p>
    </form>
    <div id="div3"></div>
  </div>

</body>
4

2 に答える 2