【问题标题】:javascript - how to use a text box input in a for loopjavascript - 如何在 for 循环中使用文本框输入
【发布时间】:2017-08-22 08:59:39
【问题描述】:

我正在尝试为接受数字输入的 javascript 应用程序编写一个解决方案,根据该数字是它运行特定功能的次数。我正在使用输入字段的文本框和一个按钮来处理用户希望函数运行的次数。这是一个骰子游戏。用户输入他想玩的游戏数量,然后单击按钮运行 roll_dice 函数多次。我不确定我是否正确地使用 for 循环来获取用户的数字输入并循环遍历它的值直到它结束,例如

function games() {
        var num = document.getElementById("inp").vale;
        var i;

        for (i = 0; i < num; i++) {
            roll_dice();
        }
}

【问题讨论】:

  • 什么是vale?..

标签: javascript for-loop


【解决方案1】:

你有一个错字。我是.value

您可以使用* 1 将字符串转换为数字。

类似这样的:

function games() {

  var num = document.getElementById("inp").value * 1; // Convert the string value a number.
  var i;

  for (i = 0; i < num; i++) {
    roll_dice();
  }
}

function roll_dice() {
  console.log("Test.");
}

var btnRun = document.getElementById("btnRun");
btnRun.onclick = function() {
  games();
};
<input id="inp" type="text" />
<button id="btnRun" type="button">Run</button>

【讨论】:

  • 感谢大家的帮助。丹尼,我最了解你的例子,谢谢!现在我被我的 roll_dice 函数困住了。我缺少一些允许它处理和显示每个 roll_dice 输出的东西。这就是我所拥有的
  • function roll_dice() { var die1 = Math.floor(Math.random()*6) +1; var die2 = Math.floor(Math.random()*6) +1; var sum = die1 + die2; var output = "
    你的卷 = " + sum; var总=总和; if ((sum==7)||(sum==11)) 输出 = 输出 + "
    你赢了!";否则输出=输出+“
    你松了!”; document.getElementById("op").innerHTML = 输出; }
  • 哦,你能用这段代码更新你的帖子吗?我可以帮你。
  • 丹尼,对于延迟回复,我深表歉意。我能够弄清楚,我必须将我的 win 变量放在函数之外并放入一个全局变量中。感谢您的宝贵时间和帮助!
【解决方案2】:

您从输入框中得到的值是字符串,您需要将其转换为 int 。如果你在循环中使用 int 。

var num = parseInt(document.getElementById("inp").value);

【讨论】:

    【解决方案3】:
       function games() {
    
        var num = document.getElementById("inp").value;
        var i;
    
        for (i = 0; i < Number(num); i++) {
            roll_dice();
        }
    }
    

    【讨论】:

      【解决方案4】:
      **<label>Game:</label><input type="text" id="input" value="0" />
      <button id="btn">Submit</button>
        <script>
       document.getElementById("btn").addEventListener("click",function(){
        var inputVal=document.getElementById("input").value*1;
        rollDice(inputVal);
      });
      
       function rollDice(dice){
      

      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>JS Bin</title>
      </head>
      <body>
      <label>Game:</label><input type="text" id="input" value="0" />
      <button id="btn">Submit</button>
        <script>
       document.getElementById("btn").addEventListener("click",function(){
        var inputVal=document.getElementById("input").value*1;
        rollDice(inputVal);
      
      });
          
       function rollDice(dice){
        for(var i =0;i<dice;i++){
          var x = Math.random()*100;
          console.log(x);} 
      }
       </script>
      </body>
      </html>
        for(var i =0;i<dice;i++){
          var x = Math.random()*100;
          console.log(x);} 
      }
       </script>**
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-30
        • 2018-09-08
        • 1970-01-01
        • 2018-03-31
        相关资源
        最近更新 更多