首页 > 解决方案 > 为什么这告诉我我的 var 未定义?

问题描述

我想创建一个警报以强制用户在提交之前在输入表单中输入大于 0 的值。

为什么它告诉我 myvar未定义?

function rollDice(bet) {
  bet = document.getElementsByName("startingBet").value;
  if (bet <= 0) {
    alert("You must place a bet");
    return false;
  }
}
<form action="luckysevens.html" onsubmit="rollDice()">
  <p>Starting Bet: $ <input type="number" name="startingBet" id="startingBet" /></p>
  <input type="submit" name="play" value="Play" />
</form>

标签: javascript

解决方案


bet在你的函数中需要一个 var 。在rollDice()您的onsubmit(). 也请使用let代替var. 这是javascript中letvar之间的区别。

干得好:

function rollDice() {
  let bet = document.getElementsById("startingBet").value;
  if (bet <= 0) {
    alert("You must place a bet");
    return false;
  }
}
<form action="" onsubmit="rollDice()">
  <p>Starting Bet: $ <input type="number" name="startingBet" id="startingBet" /></p>
  <input type="submit" name="play" value="Play" />
</form>

希望这可以帮助,


推荐阅读